background image

我爱你中国为

5 个汉字,5 个汉字则为 10 个字节,而 read()方法为一个字节一个字节的

读,所以读取

10 次,而后 len 的值则为汉字的 10 进制表示

read(byte[] b)方法

public static void inputStreamRead2(){

try{

//构造输入流对象(读数据)test.txt 文本的内容为多个我爱你中国

InputStream is = new FileInputStream(“E:\\test.txt”);
//构造输出流对象(写数据)
OutputStream os = new FileOutputStream(“E:\\ctest.txt”);
//创建一个长度为 1024 的 byte 数组
byte[] b = new byte[1024];

//int len;表示成功读取的字节数的个数

//FileInputStream 可以使用 read(byte[] b )每次读取多个(b.length)字节数

据(每次最多读取多少个)到

byte 数组当中

while((len = is.read(b))!=-1){

System.out.println(“len=”+len);
os.write(b);

}

}catch(Exception e){

e.printStackTrace();

}

}
运行上面的程序则控制台的输出为:

每次最多读取

1024 个字节,很明显使用这种方式的效率要高于 read()读取的效率,开发

的过程当中也见识使用此方式进行读取;

read(byte[] b,int off,intlen)

1、public static void inputStreamRead3(){

Try{

//构建输入流对象(读文件)