2

我正在编写一个比较目录结构的应用程序。首先,我编写了一个应用程序,它写入获取有关文件的信息 - 每个文件或目录的一行。

这是我调用方法的解决方案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(),最后。

我的问题是,我可以做得更快吗?最快的方法是什么?

编辑:“最快”方式的意思是最快写入文件

4

2 回答 2

3

Sun 实际上有一个关于这个的教程。根据他们的说法,您可以获得高达 17 倍的速度(在最坏的情况下到最好的情况下)。

他们谈论缓冲、直接缓冲、操作系统和更多有用的话题。
考虑到,正如您所说,您将有很多文件和行,我建议将流压缩/解压缩作为一种方法,但请阅读整个内容(我没有而且只是根据经验回答)。

编辑:
考虑到这是家庭作业,该页面中所有概念的知识肯定会给你的老师留下深刻印象,所以你可以添加一些评论,说明你在做什么,为什么,以及列出替代方案。;)

编辑2:
刚刚看到该行包含的内容。如果文件仅包含该信息,请考虑在下一个文件在队列中时异步创建这些行。也就是说,目录应该是多个目录名称,适当组合等等。请参阅链接的这部分快速操作以获取有关文件的信息。

于 2012-04-14T23:12:20.407 回答
0

Peter Lawrey写道:
您获取数据的速度几乎肯定会慢 100 倍,因此这对于写作来说可能是件好事。
因此,问题中显示的我的解决方案似乎很好。

于 2012-05-24T14:11:44.380 回答