如何在Java应用程序中存储文件或文件路径?

时间:2009-07-07 18:47:54

标签: java data-structures file

如果这是一个非常初学的问题我很抱歉,但几年后我还没有使用过Java。

在我的应用程序中,我需要跟上一个文件列表(大多数,如果不是全部,都是txt文件)。我需要能够添加到此列表,从列表中删除文件路径,并最终读取文件的内容(尽管不是在文件最初添加到列表时)。

用于存储此文件列表的最佳数据结构是什么?将字节路径保存为字符串是标准的,还是有更好的方法?

非常感谢。

5 个答案:

答案 0 :(得分:3)

是的,路径通常存储为StringFile个实例。该列表可以存储为ArrayList实例。

答案 1 :(得分:1)

这实际上取决于您的要求

  • 如果您拥有少量文件和/或平面目录结构,则可以使用实现Collection的任何内容存储文件名/路径
  • 如果查找文件对性能至关重要,您应该使用可以快速搜索的数据结构,例如HashSet
  • 如果内存空间有问题(例如在移动设备上)并且您的文件数量很高和/或您的目录结构很深,您应该使用允许紧凑存储的数据结构,例如trie

如果数据结构允许,我会存储File而不是String,因为没有额外的开销,File显然提供了方便的文件处理方法。

答案 2 :(得分:0)

一种方法是使用Properties类。它具有读取和写入文件的加载和存储方法,但它可能与您正在执行的操作不匹配。

答案 3 :(得分:0)

我不确定我是否完全理解你的问题。但我喜欢将文件存储为Java中的File对象。如果对每个文件应用相同的操作,则可以将它们存储在列表中。但也许你必须澄清一下你的问题。

答案 4 :(得分:0)

我建议使用您选择的Collection接口存储一组文件对象。这样做的原因是文件对象创建了对文件的规范引用,该引用与设备无关。

我不认为当你这样做时手柄是打开的,但我愿意纠正。

http://java.sun.com/javase/6/docs/api/java/io/File.html