vic*_*ugo 28
只传递文件的路径,在程序内部使用Java File类来处理它
这将第一个参数作为文件路径:
import java.io.File;
public class SomeProgram {
public static void main(String[] args) {
if(args.length > 0) {
File file = new File(args[0]);
// Work with your 'file' object here
}
}
}
Run Code Online (Sandbox Code Playgroud)
在Java中,该main方法接收一个String数组作为参数,您可能已经注意到了.您可以为参数指定另一个名称args,但这是最常用的名称.
数组args包含用户在启动程序时在类名后面键入的值.例如,要运行名为Foo的类,用户必须键入:
[user @ desktop~] $ java Foo
用户在类名后键入的所有内容都被视为参数.例如:
[user @ desktop~] $ java Foo bar baz
现在你的程序收到了两个参数:bar和baz.那些参数存储在数组中args.作为常规Java数组,可以通过访问来检索第一个参数,可以通过访问来检索args[0]第二个参数args[1],依此类推.如果你试图访问一个无效的位置(当用户没有输入你想要的那个)时,该语句将抛出一个ArrayIndexOutOfBoundsException,就像它对任何数组一样.您可以查看输入的参数数量args.length.
所以,回到你的问题.用户可以将文件名作为命令行参数通知,您可以通过main方法的参数读取该值,通常称为args.你必须检查他是否真的输入了一些参数(检查数组长度),如果没关系,你可以访问args[0]他所输入的内容.然后,您可以File根据该字符串创建一个对象,并执行您想要对其执行的操作.总是检查用户是否输入了您期望的参数数量,否则在访问阵列时会出现异常.
这是一个如何使用命令行参数的完整示例:
public class Foo {
public static void main(String[] args) {
if (args.length == 0) {
System.out.println("no arguments were given.");
}
else {
for (String a : args) {
System.out.println(a);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
该类将解析用户通知的参数.如果他没有输入任何内容,该课程将打印出"没有给出任何论据"的信息.如果他通知任意数量的参数,那么这些参数将显示在屏幕上.所以,使用我在这个答案上给出的两个例子来运行这个类,输出将是:
[user @ desktop~] $ java Foo
没有给出任何参数.
[user @ desktop~] $ java Foo bar baz
bar
baz
| 归档时间: |
|
| 查看次数: |
87571 次 |
| 最近记录: |