Java 读取一个文件并检查另一个文件中是否存在内容的最佳方法是什么

Java 读取一个文件并检查另一个文件中是否存在内容的最佳方法是什么,java,Java,我在不同的文件夹中有两个文件,如inputfolder1和inputfolder2,现在我需要检查inputfolder1文件内容是否存在于inputfolder2文件中。如果否,则创建新的输出文件 public class CompareContent { public static void main(String[] args) { String path=""; Path filePath = Paths.get(path+"inputfolder1", "data

我在不同的文件夹中有两个文件,如inputfolder1和inputfolder2,现在我需要检查inputfolder1文件内容是否存在于inputfolder2文件中。如果否,则创建新的输出文件

public class CompareContent {


public static void main(String[] args) {

    String path="";
    Path filePath = Paths.get(path+"inputfolder1", "data.txt");

    try (Stream<String> lines = Files.lines( filePath )) 
    {

        lines.forEach(p->{

            System.out.println(p);
            try {
                boolean flag=FileUtils.readFileToString(new File(path+"inputfolder2\\data2.txt")).contains(p);
              System.out.println(flag);
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

        });


    } 
    catch (IOException e) 
    {
        e.printStackTrace();
    }
}
公共类比较内容{
公共静态void main(字符串[]args){
字符串路径=”;
Path filePath=Path.get(Path+“inputfolder1”,“data.txt”);
try(streamlines=Files.lines(filePath))
{
行。forEach(p->{
系统输出println(p);
试一试{
布尔标志=FileUtils.readFileToString(新文件(路径+“inputfolder2\\data2.txt”)。包含(p);
System.out.println(标志);
}捕获(IOE异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
});
} 
捕获(IOE异常)
{
e、 printStackTrace();
}
}

我建议您像这样使用文件I/O包:

要验证文件是否存在,请执行以下操作:

boolean fileExists = java.nio.file.File.exists( Paths.get( "inputfolder1/"+ fileName ));
要验证是否存在内容,可以使用Path.size(),它将返回文件的大小:

int fileSize = Path.size( Paths.get( "inputfolder1/" + fileName ));
您可能会发现阅读以下内容很有用:

通常,请查看完整的文件I/O教程:


一般情况下,您希望包含一些已经尝试过的代码,以便您也可以收到一些代码反馈。

堆栈溢出不是一种代码编写服务。请将您的问题限制为a。要回答您的问题,您必须阅读两个文件并比较内容。您好,请自己尝试这样做,如果您无法,请发布您尝试过的代码和遇到的任何错误。@GilbertLeBlanc,“最佳”way还可以防止应用程序内存不足或更多。对于简单的SO问题,way超出了范围。虽然这在理论上可以回答问题,但在此处包含答案的基本部分,并提供链接供参考。Dumb问题:因此,我的建议,答案是使用文件I/O包,链接是r参考?你(至少部分)是对的。但是使用文件I/O包并不能告诉OP如何解决他的具体问题。