我有这段代码告诉我2个文件是否具有相同的内容。但是,我想将其扩展到不只一个文件,而是扩展到目录文件。换句话说,将一个文件夹中的文件与另一个文件夹中的文件进行比较,以查看它们是否具有相同或不同的内容,如果是,则打印出来比较2个目录中的文件
这样做只是修改目录路径的问题吗?我的代码如下。我想我记得在某处我可能需要导入另一个图书馆。任何帮助,将不胜感激。
问题现在我正在打印出来的文件名是从相同的区域,是不一样的我试过.getName它不工作我的结果回来(真)(而不是满足条件的
代码如下
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));
}
}
}
}
}
}
}
首先,我建议你把这个代码变成一种方法。然后找出一个算法来解决你的问题。要做到这一点,关掉你的电脑,拿到一张纸和一支铅笔。用文字**写出解决问题所需的步骤。不要太担心Java语法。 –
[使用Java查找文件夹中的文件]的可能重复(https://stackoverflow.com/questions/4852531/find-files-in-a-folder-using-java) –
可能出现[打印出文件名称是不同的](https://stackoverflow.com/questions/44932665/printing-out-file-names-that-are-different) –