我是一个新的java和书面代码比较2个文件,其中包含3-5页。如果在任何行的任何文件中都有任何不同,那么它就会生成差异所在的位置/行。
然而,我的代码只是比较一行,而不是所有的行和页。
当我执行代码时,我得到的输出格式是不可读的:
两个文件有不同的内容。它们在第6行不同。 File1有25%的…,§‰…?6!Y´_áoœ]Aó
守则:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class CompareTextFiles
{
public static void main(String[] args) throws IOException
{
BufferedReader reader1 = new BufferedReader(new FileReader("v1.docx"));
BufferedReader reader2 = new BufferedReader(new FileReader("v2.docx"));
String line1 = reader1.readLine();
String line2 = reader2.readLine();
boolean areEqual = true;
int lineNum = 1;
while (line1 != null || line2 != null)
{
if(line1 == null || line2 == null)
{
areEqual = false;
break;
}
else if(! line1.equalsIgnoreCase(line2))
{
areEqual = false;
break;
}
line1 = reader1.readLine();
line2 = reader2.readLine();
lineNum++;
}
if(areEqual)
{
System.out.println("Two files have same content.");
}
else
{
System.out.println("Two files have different content. They differ at line "+lineNum);
System.out.println("File1 has "+line1+" and File2 has "+line2+" at line "+lineNum);
}
reader1.close();
reader2.close();
}
}发布于 2018-02-22 19:20:17
当我执行以unreadalbe格式输出的代码时
您正在从.docx文件中读取。就像这样:
尝试使用notepad.exe或wordpad.exe打开您的notepad.exe文件,看看您将看到哪些奇怪的字符。
您应该找到一个支持读取.docx文件类型的库。
https://stackoverflow.com/questions/48935421
复制相似问题