public class Demo01_ByteArrayOutputStream {
/**
* ByteArrayOutputStream
* 内存输出流
*
* FileInputStream读取中文的时候出现了乱码
*
* 解决方案
* 1,字符流读取
* 2,ByteArrayOutputStream
* @throws IOException
*/
public static void main(String[] args) throws IOException {
//demo1(); //FileInputStream读取中文的时候出现乱码举例
//使用ByteArrayOutputStream
FileInputStream fis = new FileInputStream("aa.txt");
ByteArrayOutputStream baos = new ByteArrayOutputStream(); //在内存中创建了可以增长的内存数组
int b;
while((b = fis.read()) != -1){
baos.write(b); //将读取到的数据逐个写到内存中
}
System.out.println(baos); //默认调用toSting()方法,使用平台默认码表,将缓冲区的内容转换为了字符串
/*byte[] arr = baos.toByteArray();
System.out.println(new String(arr));//可以使用指定码表转换
*/
fis.close();
baos.close();
} |
|