I / O“检查文件名是否指定”args!= 2件事

时间:2015-05-04 05:36:23

标签: java args

这是我的一小部分代码。

if(args.length != 2) {
    System.out.println("Usage: copyFile from to");
    return;
}

我正在研究的这本书说上面的代码适用于:

  

确保已指定文件名

我不明白为什么if中有2个args.length != 2确保已指定文件名?

我无法理解。请帮帮我。还有一点点详细的帮助 对我来说可能有很多用处。感谢。

2 个答案:

答案 0 :(得分:1)

代码中的用法明确提到

System.out.println("Usage: copyFile from to");

因此,您的代码需要检查是否传递了两个文件名!

传递给命令行的第一个参数应该是SourceFile / Directory,第二个参数应该是DestinationFile / Directory,其中第一个参数将被复制。

因此,

if(args.length != 2) {
System.out.println("Usage: copyFile from to");
return;
}

并且代码应该运行为: -

java SourceClassName /path/of/source/file(folder) /path/of/destination/file(folder)

答案 1 :(得分:0)

变量args保存Java类中main方法的输入。 在Java args中包含提供的command-line arguments作为String对象的数组。

例如以这种方式运行您的课程:java yourProgram input1 input2然后args = {“input1”,“input2”}

根据您的代码snipet 这将检查是否有多个输入数量与2 不同。如果是,请打印使用消息并返回。这就是我所能说的:如果没有更多的代码,我就不能说为什么这会检查你说的是什么,但这就是args变量的工作原理。

我猜你的主要方法是期待两个输入,可能是第一个要复制的文件名,第二个是要复制到的文件的文件名。