我正在编写一个比较目录结构的应用程序。首先,我写了一个应用程序,写入获取有关文件的信息 - 关于每个文件或目录的一行。
这是我的方法toFile()
Static PrintWriter pw = new PrintWriter(new BufferedWriter( new FileWriter("DirStructure.dlis")), true);
String line; // info about file or directory
public void toFile(String line) {
pw.println(line);
}
当然还有pw.close()
,最后。
我的问题是,我可以更快地完成吗?什么是最快的方式?
编辑: “最快”方式的含义是在文件中写得最快
答案 0 :(得分:3)
Sun实际上有一个tutorial。据他们说,你可以达到17倍的速度(在最坏的情况下,最好的情况下)。
他们谈论缓冲,直接缓冲,操作系统和更多有用的主题 考虑到,正如你所说,你会有很多文件和行,我建议使用流压缩/解压缩作为一种方法,但是要读完整个事情(我没有,只能从经验中回答)。
编辑:
考虑到它的功课,对该页面中所有概念的了解肯定会给你的老师留下深刻的印象,所以你可以添加一些评论来说明你在做什么,为什么,以及列出其他选择。 ;)
编辑2:
刚刚看到该行包含的内容。如果文件仅包含该信息,请考虑在队列中为下一个文件异步创建行。也就是说,目录应该是多个目录名称,正确组合等等。请参阅快速操作链接的this section以获取文件信息。
答案 1 :(得分:0)
Peter Lawrey 写道:
您可以获得数据的速度几乎肯定会慢100倍,因此写入可能会很好。
所以看来我的解决方案在问题中表现得很好。