编写一个程序,从命令行上接收两个文件名,比较两个文件的长度及内容。java
时间: 2024-04-29 15:21:23 浏览: 86
以下是一个简单的Java程序,用于比较两个文件的长度和内容:
```java
import java.io.*;
public class FileComparator {
public static void main(String[] args) {
if (args.length != 2) {
System.out.println("Usage: java FileComparator <file1> <file2>");
return;
}
File file1 = new File(args[0]);
File file2 = new File(args[1]);
try {
// 比较文件长度
if (file1.length() != file2.length()) {
System.out.println("The files are of different length.");
return;
}
// 比较文件内容
FileInputStream fis1 = new FileInputStream(file1);
FileInputStream fis2 = new FileInputStream(file2);
int b1, b2;
while ((b1 = fis1.read()) != -1 && (b2 = fis2.read()) != -1) {
if (b1 != b2) {
System.out.println("The files are different.");
fis1.close();
fis2.close();
return;
}
}
System.out.println("The files are the same.");
fis1.close();
fis2.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
这个程序首先检查命令行参数是否正确。接着,它使用Java的File类创建两个文件对象。然后,它比较这两个文件的长度。如果它们不同,则文件不同。否则,程序使用FileInputStream类打开这两个文件,并逐个字节地比较它们的内容。如果找到任何不同之处,程序将输出“文件不同”。否则,它将输出“文件相同”。
阅读全文