相关文章:Java中如何通过字节输出流和字符输出流向文件中写内容
本篇:Java中如何通过字节输入流和字符输入流读取文件?
1、通过字节输入流读取文件
package test01;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
//通过字节输入流读取文件内容
public class ReadFile03 {
public static void main(String[] args) {
//1、创建字节输入流对象,并传入要读的文件绝对路径
FileInputStream fis = null;
try {
fis = new FileInputStream("F:\\test01\\test01.txt");
//2、通过数组的形式每次读取固定个数的字节
byte[] bytes = new byte[4];
//3、由于read()方法传入数组后返回的是字节的个数,因此要转换为字符串显示出来
//4、当返回的整数是-1时,证明文件已经读取完毕
int readCount = 0;
while((readCount = fis.read(bytes)) != -1){
System.out.println(new String(bytes,0,readCount));
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
//5、流用完之后,如果不为空,要及时关闭
if (fis != null) {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
2、通过字符输入流读取文件
package test04;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
//通过字符流读取文本文件
public class ReaderFile {
public static void main(String[] args) {
FileReader fr = null;
try {
fr = new FileReader("F:\\test01\\test01.txt");
char[] chars = new char[1024];
int readCount = 0;
while((readCount = fr.read(chars)) != -1){
System.out.println(new String(chars,0,readCount));
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fr != null) {
try {
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}