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 对象,集只允许唯一元素。
阅读整个文件并将它们添加到集合中后,您只需将字符串添加到文本区域
Set 是非常好的解决方案。在此上下文中,从新行读取文件 in.nextLine() 将值存储在 String str = new String(value) 中,然后 set.add(str)
在用 Set
中的值填充 textArea 之后
您好,我正在开发一个 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 对象,集只允许唯一元素。 阅读整个文件并将它们添加到集合中后,您只需将字符串添加到文本区域
Set 是非常好的解决方案。在此上下文中,从新行读取文件 in.nextLine() 将值存储在 String str = new String(value) 中,然后 set.add(str) 在用 Set
中的值填充 textArea 之后