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);
}
ここにJava BufferedReaderクラスとFileReaderクラスを使用する同等のコードがあります。
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 read = new Scanner(System.in);
String cadena;
boolean cond = true;
int i =0;
while (cond){
cadena = read.nextLine();
if(cadena.isEmpty())
cond = false;
}
ここにJava BufferedReaderクラスとFileReaderクラスを使用する同等のコードがあります。
_ 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は、ファイルを実行するときにファイル名を尋ねます。
これが私のJavaファイルの終わりまで入力を読み取るための同等のコードです:
import Java.util.Scanner;
public class EndOfFileSolutions {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
for(int i = 1; sc.hasNext()== true; i++){
System.out.println(i + " " + sc.nextLine());
}
}
}
このコードは、以下のような出力を生成します-
Hello world
I am a file
Read me until end-of-file.
1 Hello world
2 I am a file
3 Read me until end-of-file.
この回答も問題なく機能します Hackerrank EOF problem
簡単な解決策は、Scanner
クラスを使用することです。
以下のスニペットをご覧ください。
import Java.io.*;
import Java.util.*;
public class Solution {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
while(s.hasNextLine())
{
String line = s.nextLine();
System.out.println(line);
}
}
}