【问题标题】:How to append a word into a txt file, at the correct position (alphabetic order) in Java如何在Java中的正确位置(字母顺序)将单词附加到txt文件中
【发布时间】:2019-12-17 01:05:52
【问题描述】:

有一个文本文件:dictionary.txt,每一行有一个英文单词,单词从A到Z按字母顺序排列。

现在我想每次在该 dictionary.txt 文件中的正确位置插入一个单词。

除了使用Set<String> dictionary = new TreeSet<String>();,这意味着我必须将该.txt 文件中的每个单词添加到一个数组或一个集合中,对其进行排序,然后将内容放回.txt 文件。

还有其他更简单的解决方案或方法吗?这样我就可以将单词直接添加到 .txt 文件中的正确位置?

【问题讨论】:

    标签: java treeset


    【解决方案1】:

    无论您使用哪种语言,将某些内容插入文件(不是在末尾)都需要从该点到结尾重写文件(该点之后的所有内容,即已在文件中的所有内容,都将位于文件中的位置略有不同(因此光盘上的物理位置也有所不同)。

    您可以在文件中查找要插入的位置,然后写入新单词,然后是其后的所有内容(已在文件中)。

    如果您想要一个包含排序列表的文件,并且能够有效地添加到它,这通常使用索引来完成(在单独的文件中或同一文件的一部分中)。该文件不会进行物理排序,而是在添加单词时更新索引。您可以使用数据库系统(例如 SQLite)为您执行此操作。

    【讨论】:

      猜你喜欢
      • 2022-01-16
      • 1970-01-01
      • 2023-03-27
      • 2021-11-17
      • 2012-11-05
      • 2013-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多