java - java中读取文本文件

标签 java text-files

这里我试图读取一个仅包含整数的文本文件。在每一行中。例如:

1 
2 

3 
1

我编写了以下代码来读取文本文件。代码如下所示。

 package fileread;
 import java.io.*;

 public class Main {


public static void main(String[] args) {
    // TODO code application logic here
    try{
        FileInputStream fstream=new FileInputStream("C:/Users/kiran/Desktop/text.txt");
        DataInputStream in=new DataInputStream (fstream);
        BufferedReader br=new BufferedReader(new InputStreamReader(in));
        String str;
        while((str=br.readLine())!=null){
            System.out.println(str);
        }
        in.close();
    }
    catch(Exception e){
        System.err.println(e);
    }
}

}

现在我只想检索那些重复的整数并将其显示给用户。 在本例中我想显示“1”。

如何用 Java 实现这个?

最佳答案

package fileread;
import java.io.*;
import java.util.HashSet;
import java.util.Set;

public class Main {


public static void main(String[] args) {
    Set<String> uniqueLines = new HashSet<String>();
    Set<String> duplicatedLines = new HashSet<String>();
    try{
        FileInputStream fstream=new FileInputStream("C:/Users/kiran/Desktop/text.txt");
        DataInputStream in=new DataInputStream (fstream);
        BufferedReader br=new BufferedReader(new InputStreamReader(in));
        String str;
        while((str=br.readLine())!=null){
            if (uniqueLines.contains(str)) {
                if (!duplicatedLines.contains(str)) {
                    duplicatedLines.add(str);
                    System.out.println(str);
                }
            } else {
                uniqueLines.add(str);
            }
        }
        in.close();
    }
    catch(Exception e){
        System.err.println(e);
    }
}

}

注意:确保您的输入每行都没有尾随空格。另请注意,当列表变长时,此实现对内存不是特别友好。

关于java - java中读取文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8744148/

相关文章:

java - 是否建议重用引用变量或防止重用?

java - 在 swing 问题中编写 GUI

java - 如何用 Java 编写自定义 Protobuf CodeGenerator

c# - StreamWriter.WriteLine() 结果为空文件

c - 将多个文本文件读入C中的数组

java - 我可以输出一个没有过多空格的数组吗?

Java拦截器处理REST API响应代码

java - 如何使用 MongoDB Java 更新文档并设置字段的值?

c# - 如果文件已经存在,如何覆盖?

Python:将文本文件中每一行的第n个值读入数组