我正在尝试使用 3 个命令行参数,例如:
java program textfile.txt test 3
第一个应该访问一个文本文件,第二个应该打印名称,第三个应该是一个被解析为整数的数字键。
import java.util.Scanner;
import java.io.*;
public class Program
{
public static void main(String[] args) throws IOException
{
String textfile=null;
String outtextfile=null;
String enteredKey=null;
for(String parameter: args) {
textfile = parameter;
outtextfile = parameter;
enteredKey = parameter;
}
Scanner s = new Scanner(new File(textfile));
//gets a string to encrypt
String str = s.nextLine();
//print outtextfile
System.out.println(outtextfile);
//gets a key
int key = Integer.parseInt(enteredKey);
但是,该代码会产生此错误:
-bash-4.1$ java Program sample.txt test 3
Exception in thread "main" java.io.FileNotFoundException: 3 (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at java.util.Scanner.<init>(Scanner.java:656)
at Program.main(Caesar.java:19)