C ++では、EOFまで入力を読み取りたい場合は、次の方法で読み取ることができます。
while(scanf("%d",&n))
{
A[i]=n;
i++;
}
次に、このコードを./a.out<input.txtとして実行できます。このコードに相当するJavaは何ですか?
あなたはこれを行うことができます:
Scanner s = new Scanner(System.in);
while (s.hasNextInt()) {
A[i] = s.nextInt();
i++;
}
// assuming that reader is an instance of java.io.BufferedReader
String line = null;
while ((line = reader.readLine()) != null) {
// do something with every line, one at a time
}
問題が発生した場合はお知らせください。
import java.io.BufferedReader;
import java.io.FileReader;
BufferedReader br = null;
br = new BufferedReader(new FileReader(file));
while ((line = br.readLine()) != null) {
}
//using Scanner class
Scanner scanner = new Scanner(file);
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
System.out.println(line);
}
以下は、BufferedReader クラスと FileReader クラスを使用した同等の Java コードです。
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class SmallFileReader {
public static void main(String[] args) throws IOException {
オプション 1:
String fileName = args[0];
BufferedReader br = new BufferedReader(new FileReader(fileName));
オプション 2:
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter a file name: ");
String fileName = br.readLine();
//BufferedReader br = new BufferedReader(new FileReader("Demo.txt"));
String line=null;
while( (line=br.readLine()) != null) {
System.out.println(line);
}
}
}
@Vallabh コードを少し変更しました。@tom コマンドラインからファイル名を入力したい場合は、最初のオプションを使用できます。
java SmallFileReader Hello.txt
オプション 2 では、ファイルを実行するときにファイル名を尋ねられます。
以下は、BufferedReader クラスと FileReader クラスを使用した同等の Java コードです。
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class SmallFileReader {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new FileReader("Demo.txt"));
String line=nul;
while( (line=br.readLine()) != null) {
System.out.println(line);
}
}
}
Scanner scanner = new Scanner(System.in);
int c = 0;
while(scanner.hasNext()){
System.out.println(++c + " " + scanner.nextLine());
}
scanner.close();
// use while instead of normal for loop.
// If you need to read a file than BufferReader is the best way to do it, as explained above.