📅  最后修改于: 2023-12-03 14:42:17.612000             🧑  作者: Mango
在 Java 程序中,我们常常需要从命令行参数中读取文件名或路径等信息。本文将介绍如何在 Java 中从命令行参数中读取文件,并给出完整代码实现。
在 Java 中,我们可以使用 args
数组来读取命令行参数。args
数组包含了所有传给程序的命令行参数,其中 args[0]
是第一个命令行参数,args[1]
是第二个命令行参数,以此类推。
public class ReadFileFromArgs {
public static void main(String[] args) {
if (args.length != 1) {
System.out.println("需要一个文件名参数");
return;
}
String fileName = args[0];
// TODO: 从 fileName 中读取文件内容
}
}
上述代码中,我们首先判断 args
数组的长度是否为 1,如果不是,程序将输出提示语并退出。如果长度为 1,则我们将数组中的第一个元素赋值给 fileName
变量。
接下来,我们需要从 fileName
中读取文件内容。我们可以使用 Java 的输入输出流(InputStream
和 FileInputStream
)来实现。读取文件内容的核心代码如下:
File file = new File(fileName);
if (!file.exists() || !file.isFile()) {
System.out.println("文件不存在或不是文件");
return;
}
try (InputStream input = new FileInputStream(file)) {
ByteArrayOutputStream output = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int n = 0;
while (-1 != (n = input.read(buffer))) {
output.write(buffer, 0, n);
}
byte[] content = output.toByteArray();
// TODO: 处理文件内容
} catch (IOException e) {
e.printStackTrace();
}
上述代码中,我们首先判断 fileName
对应的文件是否存在且是否是文件,如果不是,则输出提示语并退出。如果是,则创建 FileInputStream
对象并读取文件内容,最后将内容保存到 content
数组中。
本文介绍了如何从 Java 命令行参数中读取文件,并给出了完整代码实现。我们首先使用 args
数组读取命令行参数,然后使用 FileInputStream
读取文件内容。如果有需要,我们也可以使用其他输入输出流来实现不同的读取方式。