一、标题
Java使用FileInputStream流读取文件示例详解
二、概述
在Java编程中,我们常常需要通过读取文件的方式获取文件的内容。Java的输入输出流提供了The FileInputStream类来实现将文件读取到程序中。本攻略将详细讲解如何使用Java的FileInputStream流读取文件,并给出两条示例。
三、示例1(使用FileInputStream读取二进制文件)
import java.io.*;
public class FileInputStreamExample {
public static void main(String [] args) {
try {
FileInputStream fis = new FileInputStream("C:/test.bin");
byte[] buffer = new byte[10];
while (fis.read(buffer) != -1) {
System.out.print(new String(buffer));
}
fis.close();
}
catch (IOException e) {
e.printStackTrace();
}
}
}
解释:上述代码使用FileInputStream读取了C盘根目录下的test.bin文件,读取操作以每次读取10个字节为一个操作单位,通过一个while循环将文件内容读取到byte数组中并输出到控制台,最终关闭文件输入流。
四、示例2(使用FileInputStream读取文本文件)
import java.io.*;
public class FileInputStreamExample {
public static void main(String [] args) {
try {
FileInputStream fis = new FileInputStream("C:/test.txt");
InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
BufferedReader br = new BufferedReader(isr);
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
br.close();
isr.close();
fis.close();
}
catch (IOException e) {
e.printStackTrace();
}
}
}
解释:上述代码使用FileInputStream与InputStreamReader和BufferedReader协作,以UTF-8编码方式读取C盘根目录下的test.txt文本文件,并通过一个while循环将文件的每一行读取到String变量line中,并输出到控制台,最终关闭文件输入流、转换流、缓冲流。
五、总结
Java的输入输出流提供了The FileInputStream类来实现将文件读取到程序中。
使用FileInputStream读取文件,需要注意编码格式、读取操作的单位、循环的实现等问题。
在读取二进制文件时,尽量使用byte数组作为中间缓存,而非String类型。
在读取文本文件时,应当考虑文本文件的编码格式,避免出现乱码问题。
需要及时关闭文件输入流、转换流、缓冲流,避免造成系统资源的浪费。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java使用FileInputStream流读取文件示例详解 - Python技术站