我正在嘗試讀取定向到程序中的輸入文本。掃描儀在讀取input.txt後不會發現行異常
Java Echo < input.txt
import java.util.Scanner;
public class Echo {
public static void main(String[] args) {
// Reads Text File
Scanner sc = new Scanner(System.in);
while (sc.hasNextLine()){
System.out.println(sc.nextLine());
}
// Reads User's Input
System.out.println("Keyboard Input: ");
if(sc.hasNextLine()){
System.out.println(sc.nextLine());
}
}
}
雖然輸入將被讀取,sc.nextLine
將返回null
。 我怎樣才能讓它sc.nextLine()
從用戶輸入而不是文件讀取?
結果
$ java Echo < input.txt
A:Economy:name:W
Keyboard Input:
鍵盤輸入不讀,而是僅僅是空白。 如何讓它可以讓用戶在輸入命令行後輸入?
您正在將'std.in'重定向到一個文件。到達目的地後,你預計會發生什麼? –
要從用戶輸入而不是文件讀取,請不要重定向輸入**。將文件名稱作爲參數編程,然後讓程序打開文件。並直接閱讀。 – Andreas
搜索'java如何從文件中讀取' –