首先,如果单纯的使用字节流读的话,一次读取5个字符,肯定会发生乱码,因为中文是一个字占两个字节,因此必须要使用内存流写入方法!!!
package com.heima.file;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class ByteArrayOutputStream {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
//1.read(byte[] b)是字节输入流,创建FileInputStream,关联xxx.txt
FileInputStream fis = new FileInputStream("xxx.txt");
//2.创建内存输出流,将读到的数据写到内存输出流中
java.io.ByteArrayOutputStream baos = new java.io.ByteArrayOutputStream();
//3.创建字节数组,长度为5
byte[] arr = new byte[5];
int len;
while((len = fis.read(arr)) != -1){
baos.write(arr,0,len);
}
//4.将内存输出流的数据全部转换为字符串打印
System.out.println(baos.toString());
fis.close();
}
}