JAVA FileInputStream 和 FileReader的区别
15 4 月, 2015,由 frank撰写
在写检索文件的函数时,发现读取文件有两种方式,一种是FileInputStream,另一种是FileReader。它们的本质区别就是FileReader读取的是字符数据,而FileInputStream读取的是字节数据,举个简单的例子就知道了,另外下面两篇文章讲这个不错,详细可以点进去看:
java读取文件
Java FileInputStream与FileReader的区别
[Java]读取文件方法大全
package pkg;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
public class ReadFile {
public static void main(String args[]) {
// 例1 – 使用FileInputStream 读取文件内容
try (FileInputStream fis = new FileInputStream("test.log")) {
int da = fis.read(); //读取流中的第一个字节数据
while (da != -1) { //未到达流的末尾
System.out.print(Integer.toHexString(da)+" ");
da = fis.read(); //读取第二个字节数据
}
System.out.println();
} catch (IOException e) {
System.out.println("Failed to read binary data from File");
e.printStackTrace();
}
// 例2 – Java中使用FileReader 读取文件数据
try (FileReader reader = new FileReader("test.log")) {
int ch = reader.read();
while (ch != -1) {
System.out.print((char) ch);
ch = reader.read();
}
} catch (IOException io) {
System.out.println("Failed to read character data from File");
io.printStackTrace();
}
}
}
输出结果:
ef bb bf 68 65 6c 6c 6f 21 hello!本文出自 Frank's Blog
版权声明:
本文链接:JAVA FileInputStream 和 FileReader的区别
版权声明:本文为原创文章,仅代表个人观点,版权归 Frank Zhao 所有,转载时请注明本文出处及文章链接