Comment faire pour ajouter à la fin d'un fichier en java?
...
Scanner scan = new Scanner(System.in);
System.out.println("Input : ");
String t = scan.next();
FileWriter kirjutamine = new FileWriter("...");
BufferedWriter out = new BufferedWriter(writing);
out.write(t)
out.close();
...
si j'écris sometring dans le fichier, alors il va à la première ligne. Mais si vous exécutez le programme à nouveau, il écrit le nouveau texte sur le texte précédent (dans la première ligne). Je veux faire: si j'ai insérer quelque chose, alors il va à la ligne suivante. Par exemple:
after 1 input) text1
after 2 input) text1
text2
et ainsi de suite...
ce que je devrais changer dans le code?
merci!
OriginalL'auteur | 2011-05-05
Vous devez vous connecter pour publier un commentaire.
Cela devrait le faire. L'utiliser sur l'existant pw ligne.
edit: Et comme expliqué dans les commentaires, ce qui est cause de la suite des choses:
Un FileWriter est en cours de création, avec l'option 'ajouter' définie sur true. Cela provoque FileWriter pour ne pas écraser le fichier, mais de l'ouvrir pour ajouter et de déplacer le pointeur à la fin du fichier.
PrintWriter est à l'aide de cette FileWriter (par opposition à la création de sa propre avec le fichier que vous avez pass.)
(Beaucoup de modification à faire ici. J'étais incertain à propos de la question à quelques reprises.)
parfois, vous devez mentionner
6
dans la recherche. 😉 google.co.uk/search?q=filewriter+javadoc+6ok merci pour le conseil. Normalement 6 est là, si jamais pensé à améliorer mon java par défaut de recherche 🙂
OriginalL'auteur John Chadwick
Je vous suggérons d'utiliser le
append
drapeau dans le FileWriter constructeur.Vous pourriez aussi ligne pour ajouter un saut de ligne entre chaque écriture 😉
OriginalL'auteur Peter Lawrey
pourquoi ne pas vous utiliser
RandomAccessFile
?Dans
RandomAccessFile
, les opérations de lecture/écriture peut être effectuée à n'importe quelle position.Le pointeur de fichier peut être déplacé à n'importe quel endroit, parseek()
méthode. Vous devez spécifier le fichier d'ouverture de la mode tout en l'utilisant.Exemple:
et de prendre le pointeur de fichier EOF vous devez utiliser la méthode seek().
OriginalL'auteur Neha Choudhary
Au lieu d'utiliser
BufferedWriter
, utilisezOriginalL'auteur Lakthinda Ranasinghe