java的数据输出与输入_Java:数据的输出流与输入流

Java:数据的输出流与输入流

字节输入流:InputStream

字节输出流:OutputStream

字节输入流(InputStream)

向数组里面读取数据:

package cn.dujiang.demo;

import java.io.File;

import java.io.FileInputStream;

import java.io.InputStream;

/**

* 将部分字节数组变为字符串

* @author Dujiang

*

*/

public class TestDemo {

public static void main(String[] args) throws Exception {// 此处直接抛出

// 1、定义输出的文件的路径

File file = new File("F:" + File.separator + "demo" + File.separator + "demo.text");

// 2、需要判断文件是否存在后才可以进行读取

if (file.exists()) { // 文件存在

// 3、使用InputStream进行读取

InputStream input = new FileInputStream(file);

// 4、进行数据读取

byte data[] = new byte[1024]; // 准备一个1024的数组

int len = input.read(data); // 将内容保存到字节数组之中

// 5、关闭数据流

input.close();

System.out.println("【" + new String(data,0,len) + "】");

}

}

}

(实现1、利用do..while循环)单个字节数据读取

package cn.dujiang.demo;

import java.io.File;

import java.io.FileInputStream;

import java.io.InputStream;

/**

* 单个字节数据读取 |-由于一个文件有很多的字节数据,所以如果要读取肯定采用循环的方式完成,由于不确定循环次数,所以应该使用while循环

* 完成,但是下面为了更好的把问题表现出来,所以使用do..while与while两种方式实现。

*

* @author Dujiang

*

*/

public class TestDemo {

public static void main(String[] args) throws Exception {// 此处直接抛出

// 1、定义输出的文件的路径

File file = new File("F:" + File.separator + "demo" + File.separator + "demo.text");

// 2、需要判断文件是否存在后才可以进行读取

if (file.exists()) { // 文件存在

// 3、使用InputStream进行读取

InputStream input = new FileInputStream(file);

// 4、进行数据读取

byte data[] = new byte[1024]; // 准备一个1024的数组

int foot = 0; // 表示字节数组的操作角标

int temp = 0; // 接收每次读取的字节数据

do {

temp = input.read();// 读取一个字节

if (temp != -1) {// 现在是真实的内容

data[foot++] = (byte) temp; // 保存读取的字节到数组之中 ,注意要进行向下转型

}

} while (temp != -1);// 如果现在读取的temp的字节数据不是-1,表示还有内容

// 5、关闭数据流

input.close();

System.out.println("【" + new String(data, 0, foot) + "】");

}

}

}

(实现2、利用while循环)单个字节数据读取

package cn.dujiang.demo;

import java.io.File;

import java.io.FileInputStream;

import java.io.InputStream;

/**

* 单个字节数据读取 |-由于一个文件有很多的字节数据,所以如果要读取肯定采用循环的方式完成,由于不确定循环次数,所以应该使用while循环

* 完成,但是下面为了更好的把问题表现出来,所以使用do..while与while两种方式实现。

*

* @author Dujiang

*

*/

public class TestDemo {

public static void main(String[] args) throws Exception {// 此处直接抛出

// 1、定义输出的文件的路径

File file = new File("F:" + File.separator + "demo" + File.separator + "demo.text");

// 2、需要判断文件是否存在后才可以进行读取

if (file.exists()) { // 文件存在

// 3、使用InputStream进行读取

InputStream input = new FileInputStream(file);

// 4、进行数据读取

byte data[] = new byte[1024]; // 准备一个1024的数组

int foot = 0; // 表示字节数组的操作角标

int temp = 0; // 接收每次读取的字节数据

while((temp = input.read())!= -1){

data[foot ++] = (byte) temp ;

}

// 5、关闭数据流

input.close();

System.out.println("【" + new String(data, 0, foot) + "】");

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值