このへんが参考になると思います。
入出力(てきとーな日記)
Scanner (java.util.Scanner)
とりあえずScannerを使いましょう。色々関数が揃っていて便利です。
コンストラクタの引数に入力元を指定します。
入力元が標準入力なら
Scanner in = new Scanner(System.in);
入力元がファイルなら
Scanner in = new Scanner(new File("c:\\pya-.txt"));
入力元が文字列なら
Scanner in = new Scanner("okkikki");
とか書けば良いです。
Scanner in = new Scanner(System.in);
int n = in.nextInt();
long l = in.nextLong();
double d = in.nextDouble();
String s = in.next();
String line = in.nextLine();
BigInteger b = in.nextBigInteger();
nextLineは次の1行、nextは改行・空白文字を区切りとして次の文字列を読み取ります。nextLineとnextを併用するときはnextLineを呼ぶ前に一度nextLineを空呼びしておきましょう。
読み込むものがあるかないかはhasNext等で判定します。
Scanner in = new Scanner(System.in);
while(in.hasNext()){
String s = in.next();
}
次の工夫をするとちょっと高速になります。
Scanner in = new Scanner(System.in);
int n = Integer.parseInt(in.next());
long l = Long.parseLong(in.next());
double d = Double.parseDouble(in.next());