簡體   English   中英

Java Swing僅將文件中的唯一行讀入JtextArea

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM