我有这段代码告诉我2个文件是否具有相同的内容。但是,我想将其扩展到一个文件而不是目录文件。换句话说,将一个文件夹中的文件与另一个文件夹中的文件进行比较,以查看它们是否具有相同或不同的内容,如果是,则打印出来
这样做只是修改目录路径吗?我的代码如下。我想我记得在某个地方读书,我可能需要导入另一个库。任何帮助将不胜感激。
我现在遇到的问题是从相同的区域打印出文件名,并且我尝试了不同的.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) );
}
}
}
}
}
}
}
答案 0 :(得分:1)
尝试更改:
<xsl:sequence select="/node1/node2"/>
有:
if(line1 == null || line2 == null)
答案 1 :(得分:1)
此代码将遍历文件夹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