关于逐行读取大文件 , 找了一些方法进行比较验证, 并下载了一个比较大一点的日志文件用来测试。
- 使用BufferedReader读取文件(InputStreamReader、FileReader)
- 使用 Scanner函数来读取文件
- Apache的commons-io包读取文件
使用BufferedReader读取文件
使用java.io.BufferedReader、InputStreamReader函数逐行读取,代码如下:
File file = new File(filePath);
BufferedReader buf = null;
try{
buf = new BufferedReader(new InputStreamReader(
new FileInputStream(file), "UTF-8"));
String temp = null ;
while ((temp = buf.readLine()) != null ){
// System.out.println(temp);
}
}catch(Exception e){
e.getStackTrace();
}finally{
if(buf != null){
try{