FileInputStream中read()方法在参数不同时的返回值说明


read()空参数,作用是“从此输入流中读取一个数据字节。”,返回值为读取到的字节并强转为int形式

public class P01Stream {

    public static void main(String[] args) throws IOException {
        // TODO Auto-generated method stub
        File f = new File("D:\\lol2.txt");//“ABC”
        FileInputStream fis = new FileInputStream(f);
        int len = 0;
        
        while((len = fis.read()) != -1)
            System.out.println(len);        
    }
}
//输出结果:
//65
//66
//67

read(byte[] b)时,作用是“从此输入流中将最多b.length 个字节的数据读入一个 byte 数组中。”返回值是读取到的字节个数。

public class P01Stream {

    public static void main(String[] args) throws IOException {
        // TODO Auto-generated method stub
        File f = new File("D:\\lol2.txt");//"ABC"
        FileInputStream fis = new FileInputStream(f);
        int len = 0;
        byte[] bytes = new byte[(int) f.length()];
        
        while((len = fis.read(bytes)) != -1)
            System.out.println(len);        
    }
}
//输出结果
//3

该byte数组作为缓冲数组,存储了读取到的字节

public class P01Stream {

    public static void main(String[] args) throws IOException {
        // TODO Auto-generated method stub
        File f = new File("D:\\lol2.txt");//"ABC"
        FileInputStream fis = new FileInputStream(f);
        int len = 0;
        byte[] bytes = new byte[(int) f.length()];
        
        while((len = fis.read(bytes)) != -1) {
            for (byte b : bytes) {
                System.out.println(b);
            }
            
        }
                    
    }
}
//输出结果
//65
//66
//67


免责声明!

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



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