Java程序删除文本文件中的重复行

接口集不允许重复的元素。add()此接口的方法接受元素并添加到Set对象,如果添加成功,则返回true,如果尝试使用此方法添加现有元素,则添加操作将失败,返回false。

因此,要从文件中删除重复的行-

  • 实例化Scanner类(从文件中读取数据的任何类)

  • 实例化FileWriter类(将数据写入文件的任何类)

  • 创建Set接口的对象。

  • 读取文件的每一行,并将其存储在Sting说输入中。

  • 尝试将此字符串添加到Set对象。

  • 如果添加成功,则将该特定行附加到文件编写器。

  • 最后,将FileWriter的内容刷新到输出文件。

如果文件包含特定行超过一次,则第一次将其添加到set对象中,并因此附加到文件编写器中。

如果在读取文件中的所有行时再次遇到同一行,则由于set对象中已经存在该行,因此add()方法将拒绝它。

示例

假设我们有一个名为sample.txt的文件,内容如下:

Hello how are you

Hello 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 you

welcome to Nhooo

以上是 Java程序删除文本文件中的重复行 的全部内容, 来源链接: utcz.com/z/338479.html

回到顶部