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

问题描述 投票:0回答:1

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

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

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

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

java treeset
1个回答
1
投票

[无论使用哪种语言,在文件中插入内容(而不是在末尾)都需要从该点到末尾重写文件(此点之后,文件中已经存在的所有内容都将稍稍文件中的其他位置(因此光盘上的物理位置也不同))。

您可以在文件中寻找要插入的位置,然后写一个新单词,其后紧跟所有内容(已经在文件中)。

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

© www.soinside.com 2019 - 2024. All rights reserved.