FileInputStream简介说明

乔欣 Java经验 发布时间:2023-03-27 10:37:38 阅读数:17229 1
下文笔者讲述FileInputStream的简介说明,如下所示

FileInputStream初始化方法

FileInputStream(String name)
FileInputStream(File file)

//直接通过文件地址初始化
FileInputStream fis = new ileInputStream("D:/test/test1.txt");

//通过File对象初始化
File file = new File("D:/test/test1.txt");
FileInputStream fis = new FileInputStream(file)

获取文件大小

FileInputStream fis = new ileInputStream("D:/test/test1.txt");
fis.available(); //文件大小

读取文件内容

获取文件内容的实现思路:
    read():
	   读取一个字节(返回对应字节的ascii码值)
    read(byte b[]):
	   根据字节缓冲数组的长度,进行读取(返回读取的字节数)
    

read()示例

FileInputStream fis = new ileInputStream("D:/test/test1.txt");
 while (true){
     //read() 方法:从输入流对象中,一次读取一个字节(返回的是对应字节的ascii码值,int类型)
     int hasRead = fis.read();

     //当读取到末尾,返回-1,代表文件读取结束
     if(hasRead == -1){
         break;
     }

     System.out.print((char) hasRead); 
     //打印文件中字符的ascii值
     //转化为字符:KH96abcdefghijk
 }

 //最后一定要关闭资源
 fis.close();

read(byte b[])的功能及示例

带缓冲字节数,
 读取文件内容,
 一次读取就不是一个字节,
  而是根据字节缓冲数组的长度,进行读取
FileInputStream fis = new ileInputStream("D:/test/test1.txt");
//带缓冲字节数,根据字节缓冲数组的长度,进行读取
byte[] bytes = new byte[5];
//容易出错的判断方式:read()方式执行一次,就读取一个字节(没有保存,读完就扔,字节丢失),不可以作为判断条件
while(fis.read() != -1){
    //循环读取内容
    //带缓冲数组的读取,方法返回的是读取的字节数,不是读取的内容
    //每次读取的数据,是由缓冲字节数组长度决定,每次都是从上一次读取的位置后开始继续读取,每次都是将读取的内容依次放入缓存数组
    int hasRead = fis.read(bytes);
    System.out.println("读取的字节数:"+hasRead);
    System.out.println(new String(bytes));
    System.out.println("读取文件成功");
}


//注意此处应放入到 finally中
fis.close();
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202303/16798850196165.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者