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);
        
    }
}

 

posted @ 2017-03-21 23:25  南往人6  阅读(1792)  评论(0编辑  收藏  举报