Salut Stackoverflow personnes,lecture ligne de chaîne dans un fichier texte ne correspond pas
J'ai cette question dans mon développement du système, où je lignes d'enregistrement dans un fichier texte , et Je le récupère en utilisant BufferedReader
et divisé chaque ligne par la conduite (|). J'utilise aussi Quartz pour exécuter cette lecture de fichier tous les jours. Quand je le teste, je règle le travail de quartz toutes les minutes pour que je puisse le tester s'il lit réellement le fichier dans chaque minute. Il lit toute la ligne dans le fichier texte en la vérifiant en utilisant ceci.
BufferedReader reader = new BufferedReader((newInputStreamReader(inputStream));
String line = null;
int counter = 0;
while((line = reader.readLine()) != null){
counter++;
}
System.out.println(counter);
Mais quand je partage l'String
, le résultat de la récupération 4451
dossiers est incompatible. Parfois, il récupère seulement 1000+ à plus de 2000 enregistrements, et parfois il récupère 4451, mais pas de manière cohérente. C'est mon code.
try {
BufferedReader reader = new BufferedReader((newInputStreamReader(inputStream));
String line = null;
int counter = 0;
String[] splitLine = null;
while((line = reader.readLine()) != null){
splitLine = line.split("\\|"); // Splitting the line using '|' Delimiter
for(String temp : splitLine) {
System.out.println(temp);
}
counter++;
}
System.out.println(counter);
} catch (IOException e) {
e.printStackTrace();
}
Est-ce que la division de String et l'itération du fichier readfile en même temps peuvent être la cause?
EDIT: Aucune exception n'est survenue dans la situation. Il imprime seulement la longueur de en utilisant la variable counter
.
Ma sortie attendue est Je souhaite récupérer tous les enregistrements par ligne dans le fichier texte et diviser la chaîne par ligne par pipe
.counter
est le nombre de lignes extraites.
Peut-être que vous supprimez une exception. Montrez votre bloc try/catch complet. Et corrige les erreurs de compilation. – shmosel
Salut @shmosel, je n'ai pas essayer/attraper dans cela, et il n'y a pas eu d'erreur. – msagala25
Il doit y avoir un essai/catch quelque part. Il n'y a rien de mal avec le code que vous avez posté. Ne nous faites pas mendier un [mcve]. – shmosel