这是我在这里的第一篇文章。我很兴奋终于能参与进来了。
我正在做一个项目,在这个项目中我正在解析晦涩的文件类型。我需要能够解析word (我已经做过了)、.sbs、.day、.cmp等等。所有这些类型都可以简单地用记事本打开并显示。
由于我对这些东西还很陌生,有没有办法使用一些(或两个)泛型库来打开所有这些东西?如果是这样,它会是什么库呢?
在这种情况下,什么是最佳实践?
谢谢!
发布于 2012-05-19 02:34:44
您可以使用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
我希望这能帮助你,如果你正在寻找只有你的文本文件在内存中可用。
https://stackoverflow.com/questions/10657472
复制相似问题