Comment lire jusqu'à la fin du fichier (EOF) en utilisant BufferedReader en Java?
J'ai un problème avec la lecture de l'entrée jusqu'à EOF
dans Java
. Ici, il ya une seule entrée et la sortie de tenir compte de la contribution de chaque ligne.
Exemple:
d'entrée:
1
2
3
4
5
de sortie:
0
1
0
1
0
Mais, j'ai codé à l'aide de Java, le seul résultat sera affiché quand j'ai été saisie de deux nombres. Je veux d'entrée unique et d'imprimer une seule sortie de chaque ligne (mettre fin à EOF
) à l'aide de BufferedReader
en Java.
C'est mon code:
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
StringBuffer pr = new StringBuffer("");
String str = "";
while((str=input.readLine())!=null && str.length()!=0) {
BigInteger n = new BigInteger(input.readLine());
}
source d'informationauteur meisyal | 2013-08-01
Vous devez vous connecter pour publier un commentaire.
Vous consommez une ligne, qui est rejetée
et la lecture d'un bigint à
donc essayer d'obtenir le bigint de chaîne de caractères qui est lu comme
Aslo changement
while((str=input.readLine())!=null && str.length()!=0)
àvoir post-chaîne de type bigint
voir la documentation javadoc
Avec des fichiers texte, peut-être que les expressions du FOLKLORE est de -1 lors de l'utilisation de BufferReader.read(), char par char.
J'ai fait un test avec BufferReader.readLine()!=null et cela a fonctionné correctement.