首先定义了一个filePath
变量,表示待处理的文本文件的路径。然后创建了一个HashSet
集合对象lines
,用于存储不重复的行内容。
接着使用BufferedReader
和FileReader
类逐行读取文本文件的内容,并使用trim()
方法去除每行内容的行首和行尾的空白字符。然后将每行内容添加到lines
集合中。最后循环输出lines
集合中的每个元素,即可得到去重后的文本文件内容,循环输出的line也可以写入到文件中。
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.HashSet;
import java.util.Set;
public class Test {
public static void main(String[] args) {
String filePath = "/Users/test/testchat.txt";
Set<String> lines = new HashSet<>();
try (BufferedReader br = new BufferedReader(new FileReader(filePath))) {
String line;
while ((line = br.readLine()) != null) {
lines.add(line.trim()); // 去除行首尾的空白字符
}
} catch (Exception e) {
e.printStackTrace();
}
for (String line : lines) {
System.out.println(line);
}
}
}