package com.javase.io; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; /** * FileInputStream类中还用两个偶尔会用到的方法,大家了解一下。 * int available() 该方法用来查看被读取的文件还有多少字节为被读取,也就是还剩多少字节没读。 * void skip(long 字节数) 该方法的作用是跳过多少个字节后再读。(该方法读者字节去编写代码尝试,这里没有举例) */ public class FileInputStreamText02 { public static void main(String[] args) { FileInputStream fis = null; try { fis = new FileInputStream("测试.txt"); // 准备一个数组 // fis.available()返回值是剩余未读字节数量,没读之前就使用该方法,直接返回被读文件的总字节数,然后直接创建这么大的 // 数组。一次性读完,就不需要循环了,提高了效率。但此方法不适合大数据文件。因为无法创建很大的数组。 byte[] bytes = new byte[fis.available()]; // 向数组中读文件,这行代码在这里就不需要返回值了 fis.read(bytes); // 文件读完后,将byte[]数组直接转换成字符串输出 System.out.println(new String(bytes)); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if (fis != null) { try { fis.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
FileInputStream类中偶尔会用到的两个方法
于 2022-12-24 09:50:58 首次发布