NIO按行读取文件
?
要解析文件入库,通过NIO方式直接读取日志文件一行一行的处理
日志是通过log4j写入的,通过log4j的方法将日志信息写入到文件,每行有一个换行符
?
结论:
?
jdk1.6暂时没有找到合适的方法(只能使用传统方法吧)
jdk1.7可以按行读取文件,jdk1.7的api中有一个Files类可以处理 readAllLines()可以处理
?
参考资料:http://www.kodejava.org/examples/813.html
?
package org.kodejava.example.nio;import java.io.IOException;import java.nio.charset.Charset;import java.nio.file.Files;import java.nio.file.Paths;import java.util.List;public class ReadFileAsListDemo { public static void main(String[] args) { String fileName = "core-sample/src/main/resources/data.txt"; try { List<String> lines = Files.readAllLines(Paths.get(fileName), Charset.defaultCharset()); for (String line : lines) { System.out.println(line); } } catch (IOException e) { e.printStackTrace(); } }}
?
?
刚才在StackOverFlow中看到一个BT的问题,15G的日志文件。
?
?