文件读取可以通过字符流和字节流实现
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
public class ReadFile {
public static void main(String[] args) throws Exception {
String filePath="D:\\**\\**.txt";
File file=new File(filePath);
// 方法一
BufferedReader reader=new BufferedReader(new FileReader(file));
String readLine = null;
while((readLine=reader.readLine())!=null) {
System.out.println(readLine);
}
reader.close();
FileInputStream in=new FileInputStream(file.getPath());
// 方法二
Long length = file.length();
byte[] fileByte=new byte[length.intValue()];
in.read(fileByte);
String fileContent=new String(fileByte);
// 方法三
int available = in.available();
byte[] fileByte1=new byte[available];
in.read(fileByte1);
String fileContent1=new String(fileByte1);
in.close();
}
}
方法一采用字符流,reader.readLine()为按行读取,readLine是一个阻塞的方法,只要没有断开连接,就会一直等待,直到有东西返回,只有读到数据流最末尾,才返回null ,而文件中的空行并不会返回null!
方法二和三采用字节流读取,区别在于计算文件长度的方式