私はプログラムに入力された入力テキストを読み込もうとしています。スキャナはinput.txtを読み込んだ後にLineが見つかりませんでした。
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をファイルから読み込む方法 –