JAVA面试题一 之 io流的操作
/*定义一个文件输入流,调用read(byte[] b)方法。
将a.txt文件中的内容打印出来(byte数组大小限制为5)。*/
拿到题以后要先整理出思路:
分析可知:
1.read(byte[] b)该方法属于字节输入流
2.byte数组大小限制为5,当碰到中文的时候极易出现乱码
解决的方案:使用内存流
public static void main(String[] args) throws IOException { FileInputStream fis = new FileInputStream("f.txt"); ByteArrayOutputStream baos = new ByteArrayOutputStream(); byte[] b = new byte[5]; int len; while((len = fis.read(b))!=-1){ baos.write(b,0,len);//将读取的数据一次性从缓冲区中取出来 } System.out.println(baos); } }