Java程序删除文本文件中的重复行
接口集不允许重复的元素。add()
此接口的方法接受元素并添加到Set对象,如果添加成功,则返回true,如果尝试使用此方法添加现有元素,则添加操作将失败,返回false。
因此,要从文件中删除重复的行-
实例化Scanner类(从文件中读取数据的任何类)
实例化FileWriter类(将数据写入文件的任何类)
创建Set接口的对象。
读取文件的每一行,并将其存储在Sting说输入中。
尝试将此字符串添加到Set对象。
如果添加成功,则将该特定行附加到文件编写器。
最后,将FileWriter的内容刷新到输出文件。
如果文件包含特定行超过一次,则第一次将其添加到set对象中,并因此附加到文件编写器中。
如果在读取文件中的所有行时再次遇到同一行,则由于set对象中已经存在该行,因此add()方法将拒绝它。
示例
假设我们有一个名为sample.txt的文件,内容如下:
Hello how are youHello how are you
welcome to Nhooo
以下Java程序从上述文件中删除重复的行,并将其添加到名为output.txt的文件中。
import java.io.File;import java.io.FileWriter;
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
public class DeletingDuplcateLines {
public static void main(String args[]) throws Exception {
String filePath = "D://sample.txt";
String input = null;
//实例化Scanner类
Scanner sc = new Scanner(new File(filePath));
//实例化FileWriter类
FileWriter writer = new FileWriter("D://output.txt");
//实例化Set类
Set set = new HashSet();
while (sc.hasNextLine()) {
input = sc.nextLine();
if(set.add(input)) {
writer.append(input+"\n");
}
}
writer.flush();
System.out.println("Contents added............");
}
}
输出结果
Contents added............
output.txt的内容将是:
Hello how are youwelcome to Nhooo
以上是 Java程序删除文本文件中的重复行 的全部内容, 来源链接: utcz.com/z/338479.html