解决读取中文出现乱码问题,读取全部字节,可能会出现内存溢出
package day22;
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class Dk2ByteArrayOutputStream {
//解决读取中文乱码问题,在内存中创建文件大小的字节数组
public static void main(String[] args) throws IOException{
FileInputStream fis1 = new FileInputStream("a.txt");
ByteArrayOutputStream baos = new ByteArrayOutputStream();
int b;
while ((b=fis1.read())!= -1) {
baos.write(b); //在内存写入字节
}
// byte[] arr = baos.toByteArray();
// System.out.println(new String(arr)); //String构造方法可以将字节数组转为字符串
System.out.println(baos);//与以上两步结果相同等价于baos.toString()将字节转为字符串
fis1.close();
//baos不需要关
}
}