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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM