java -jar main.jar D:/app/test/orig.txt D:/app/test/orig_0.8_add.txt 编写main读取文件
时间: 2024-09-14 12:10:29 浏览: 40
java-snmp_1.4.orig.tar.gz_MIB java_SNMP_java-snmp-1.4.2.jar _mib
在Java中,使用`java -jar`命令运行一个JAR文件时,可以通过命令行参数将数据传递给应用程序。在你给出的命令中,`main.jar`是需要运行的JAR文件,而`D:/app/test/orig.txt`和`D:/app/test/orig_0.8_add.txt`是传递给JAR文件的两个文件路径参数。
要在Java程序中读取这些文件,首先需要编写一个包含`main`方法的Java类,该方法需要能够处理命令行参数,并对文件进行读取。以下是一个简单的例子,展示了如何使用Java标准库中的`FileReader`和`BufferedReader`类来读取文件内容:
```java
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class FileProcessor {
public static void main(String[] args) {
// 首先检查命令行参数是否足够
if (args.length < 2) {
System.out.println("用法: java FileProcessor <文件路径1> <文件路径2>");
return;
}
// 获取传递给程序的文件路径
String filePath1 = args[0];
String filePath2 = args[1];
// 读取第一个文件
System.out.println("正在读取文件: " + filePath1);
readFromFile(filePath1);
// 读取第二个文件
System.out.println("正在读取文件: " + filePath2);
readFromFile(filePath2);
}
private static void readFromFile(String filePath) {
try (BufferedReader br = new BufferedReader(new FileReader(filePath))) {
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
System.err.println("无法读取文件: " + filePath);
e.printStackTrace();
}
}
}
```
在上述代码中,`FileProcessor`类包含`main`方法,该方法会接收命令行参数,检查是否有足够的参数提供,并读取两个文件的内容。`readFromFile`方法是一个辅助方法,用于打开文件,逐行读取内容并打印到控制台。
如果你想要运行上述程序,你需要将它编译成一个`.class`文件,然后打包成一个JAR文件。之后,你可以使用`java -jar`命令来运行这个JAR文件,并传递文件路径参数。
阅读全文