繁体   English   中英

如何将一个单词附加到 txt 文件中,在 Java 中的正确位置(字母顺序)

[英]How to append a word into a txt file, at the correct position (alphabetic order) in Java

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

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

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM