[英]Java Swing read only unique lines from file into JtextArea
您好,我正在開發一個swing應用程序,該應用程序將從文本文件中讀取內容並將其添加到JTextArea
。 我可以使用textarea.read()
方法讀取文件內容
但是問題是文本文件包含許多重復,這些重復是不必要的,需要丟棄。
這是讀取代碼:
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
BufferedReader reader = new BufferedReader(new FileReader(new File("D:/abc.txt")));
jTextArea1.read(reader, "D:/abc.txt");
}
我見過有人建議使用LinkedHashSet
,但是我不知道如何在這種情況下使用它。
我需要一個只能從文本文件讀取唯一行並將其放入jTextArea
的解決方案。
我需要一個只能從文本文件讀取唯一行並將其放入jTextArea的解決方案。 -我認為更好的解決方案是讀取輸入文件的所有行,而不僅僅是唯一的行。 這樣做會更容易。 您可以創建一個while循環,以讀取輸入文件的每一行,將此行分配給String變量,並將此行添加到此循環外部聲明的LinkedHashSet<String> yourSet
。 您可以使用yourSet.add(String yourString)
方法將這些行(字符串)添加到yourSet
。 之后,您可以遍歷集合並將每個String行發送到yourJTextArea
:
for(String s : yourSet) {
yourJTextArea.append(s + "\n" );
}
您應該使用.readLine()逐行讀取文件,並將該行添加到HashSet對象中,設置僅允許唯一元素。 閱讀完整個文件並將其添加到集合中后,您只需將String添加到textarea
設置確實是很好的解決方案。 在這種情況下,從in.nextLine()的新行中讀取文件。將值存儲在String str = new String(value)中,然后進行set.add(str)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.