这是我在此的头一篇博文。我很高兴终于参加了。
我正在一个项目中解析晦涩的文件类型。我需要能够解析 word(我已经做过)、.sbs、.day、.cmp 等等。所有这些类型都可以简单地用记事本打开并显示出来。
由于我对这些东西很陌生,有没有办法可以使用一些通用库(或两个)来打开所有这些?如果是这样,它会是什么图书馆?
在这种情况下,最佳做法是什么?
谢谢!
您可以使用Apache Commons IO库。FileUtils
类有几个方法可以接收文件路径和可选的文件编码。
如果您只想读取文本文件并将它们保存到文本变量
java.io.File file = new java.io.File("C:\\dir\\file.cmp");
String allWordAndLines = org.apache.commons.io.FileUtils.readFileToString(file);
如果您想要单独的每一行并将它们存储在一个集合中:
java.util.List<String> lines = org.apache.commons.io.FileUtils.readLines(file);
for(String line : lines) {
// do something with line
}
要指定编码,您需要添加另一个参数:
org.apache.commons.io.FileUtils.readFileToString(file, "UTF-8");
org.apache.commons.io.FileUtils.readLines(file, "Cp1252");
Java 包括几个用于读取文件的类,请参阅http://docs.oracle.com/javase/tutorial/essential/io/index.html中的更多内容
如果您只想让您的文本文件在内存中可用,我希望这可以帮助您。