如何使用扫描仪从命令行读取文件
它不会提示用户输入文件?请帮我如何使用扫描仪从命令行读取文件
public static void main (String args []){
if (0 < args.length) {
File inFile = new File(args[0]); // Make sure the file exists, can read, etc...
while (!inFile.exists()) {
Scanner console = new Scanner (inFile);
System.out.println ("Input file:"); //prompt user to input file
String inFileName = console.nextLine();
System.out.println ("Input file:"); //prompt user to input file
inFileName =inFileName.trim(); //get rid of whitespace
System.out.println(inFileName);
inFile = new File (inFileName);
}
老办法:
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String userInput = reader.readLine();
的新方法:
Console console = System.console();
if(console != null) { String userInput = console.readLine();
我希望我可以使用BufferedReader,但我不能上课,谢谢:) –
扫描仪扫描仪=新扫描仪(System.in);然后,您可以使用各种scanner.getXXX()方法之一调用get值,具体取决于您从用户需要的值的类型。 –
我试过while循环的内部和外部,仍然没有提示任何输入? –
对于扫描仪,您需要使用。
Scanner console = new Scanner(System.in);
我想你可以用几行代码完成预期的任务。
public static void main(String[] args) {
Scanner userInput = new Scanner(System.in);
System.out.println("Input file : ");
String inFile = userInput.next();
System.out.println("Input file is " + inFile);
}
你混淆了args []的实际含义。 '字符串参数[]'指的是你可以给主要方法的程序参数。 – Ishnark