gpt4 book ai didi

java - 比较2个目录中的文件

转载 作者:行者123 更新时间:2023-12-02 02:44:04 24 4
gpt4 key购买 nike

我有这段代码告诉我这两个文件是否具有相同的内容。但是,我想将其扩展到不仅仅是一个文件,而是扩展到目录 Files。换句话说,将一个文件夹中的文件与另一个文件夹中的文件进行比较,看看它们是否具有相同或不同的内容,如果是则将其打印出来。

这样做只是修改目录路径的问题吗?我的代码如下。我想我记得在某处读过我可能需要导入另一个库。任何帮助将不胜感激。

现在我遇到的问题是从相同和不同的区域打印出文件名,我尝试过 .getName 它不起作用我的结果返回(true)(而不是名称满足条件的文件

下面的代码

import java.io.File;

public class F2FCompare {

public static void main(String[] args)
{
File folderA = new File("C:/Users/hoflerj/Desktop/FolderA");
File[] listOfFilesInA = folderA.listFiles();

File folderB = new File("/C:/Users/hoflerj/Desktop/FolderB");
File[] listOfFilesInB = folderB.listFiles();

for (File fileA : listOfFilesInA){
if (fileA.isFile())
{
for (File fileB : listOfFilesInB) {
if(fileB.isFile())
{
if ( fileA.equals(fileB))
{
System.out.println( "FolderA same as FolderB" + listOfFilesInA.equals(listOfFilesInB) );
//File[] files = folder.listFiles();
}

// txtfile.getName()
else
{
//System.out.println(! fileA.getName().equals(fileB) + " Folder A diff B" );
System.out.println( "Folder same as FolderB " + !fileA.getName().equals(fileB) );
}



}
}
}
}
}
}

最佳答案

此代码将迭代文件夹 A 中的每个文件,并将其与文件夹 B 中的每个文件进行比较。

File folderA = new File("/Users/you/folderA/");
File[] listOfFilesInA = folderA.listFiles();
File folderB = new File("/Users/you/folderB/");
File[] listOfFilesInB = folderB.listFiles();
for (File fileA : listOfFilesInA) {
if (fileA.isFile())
{
for (File fileB : listOfFilesInB) {
if(fileB.isFile())
{
//your code
}
}
}
}

感谢 David Robles:https://stackoverflow.com/a/1844695/4788664

关于java - 比较2个目录中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44934504/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com