2010-10-12 7 views
1

J'ai créé un programme qui prend un fichier texte de 3 mots de lettres et les traite, les stocke dans un tableau puis les sort dans la sortie de construction dans JCreator puis écrit la même sortie dans un fichier.Supprimer les lignes vides qui apparaissent lors de l'écriture dans un fichier (Java)

Maintenant, ce programme fonctionne correctement, mais lorsque j'imprime beaucoup de données, toutes ces lignes vides sont insérées là où il ne devrait pas y en avoir.

Je l'utiliser pour imprimer à mon dossier:

PrintWriter fw = new PrintWriter(new FileWriter("Dictionary.txt")); 

    for (int i=0; i<count; i++) 
    { 
     if (words[i]!=null) 
      fw.println(words[i]); 
    } 

boucle I dans le tableau et ne pas imprimer à un fichier, à mon écran de sortie sur l'IDE. Maintenant, je vais soudainement obtenir une ligne vide où il ne devrait pas être, comme ceci:

Tut
tux

uke
utilisation

et il semble être complètement aléatoire .

Maintenant, comment puis-je supprimer ces lignes du fichier sans avoir à écrire dans un nouveau fichier, car l'écriture de grandes quantités de lignes semble causer ce problème.

Merci les gars

+2

Peut-être que certains mots sont réellement vides? Avez-vous vérifié si 'mots [i] .length() == 0'? – casablanca

+0

Un autre thread imprime quelque chose d'autre? –

+0

Les mots n'étaient pas vides, car j'imprimais un tableau, les valeurs vides auraient simplement imprimé "null" sur la ligne. – Strategist01

Répondre

4

Faire un petit changement:

if (words[i]!=null && words[i].trim().length() != 0) 
     fw.println(words[i]); 

Fondamentalement, vous voulez vérifier et voir si la ligne serait vide, et passez l'imprimer.

+0

Supprimer les lignes vides du dictionnaire semble être un bon coup en effet :) – extraneon

+0

@extra, Yup, probablement ... – jjnguy

+0

Je pensais aussi, mais c'est aléatoire, donc ça ne semble pas être le cas. –

0

Si c'est complètement aléatoire, alors vous devriez essayer d'écrire dans un fichier et vérifier ce fichier. Pas que je ne fais pas confiance à la console fournie par votre IDE.

+0

J'ai écrit dans le fichier, et la sortie vers la console et le fichier sont exactement les mêmes. – Strategist01