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