如何比较两个文本文件的内容并返回“相同内容”或“不同内容”?
我的Java应用程序需要具有比较文件系统中两个不同文件并确定它们的二进制内容是否相同的能力。
这是我当前的代码:
package utils;import java.io.*;
class compare {
public static void main(String args[]) throws IOException {
FileInputStream file1 = new InputStream(args[0]);
FileInputStream file2 = new InputStream(args[1]);
try {
if(args.length != 2)
throw (new RuntimeException("Usage : java compare <filetoread> <filetoread>"));
while (true) {
int a = file1.read();
int b = file2.read();
if (a==-1) {
System.out.println("Both the files have same content");
}
else{
System.out.println("Contents are different");
}
}
}
catch (Exception e) {
System.out.println("Error: " + e);
}
}
}
任何有关如何正确进行比较功能的提示或建议,将不胜感激。
回答:
最简单的方法是将内容读取为两个字符串,例如
FileInputStream fin = new FileInputStream(args[i]); BufferedReader myInput = new BufferedReader(new InputStreamReader(fin));
StringBuilder sb = new StringBuilder();
while ((thisLine = myInput.readLine()) != null) {
sb.append(thisLine);
}
,然后.equals()
对这些执行。您是否需要更复杂的差分功能?
以上是 如何比较两个文本文件的内容并返回“相同内容”或“不同内容”? 的全部内容, 来源链接: utcz.com/qa/400222.html