Comment faire pour effacer le texte existant dans un fichier
Je suis en train de travailler sur un projet pour l'école, et je suis d'essayer quelque chose au-delà de crédit supplémentaire. Le programme est de démontrer l'efficacité des différences entre un linéaire & recherche binaire pour une taille de tableau d'entiers. J'ai une boucle défini, qui crée un int[taille] tableau, les recherches pour un nombre aléatoire, puis crée un nouveau tableau de int[taille*2].
Les résultats sont ensuite écrites dans un fichier texte. La sortie écrit très bien, mais après compiler & exécuter le programme plusieurs fois, le fichier de sortie a le nombre de sections de données.
C'est mon code qui est imbriquée à l'intérieur d'un bloc try/catch:
File output= new File("c:\\BigOhResults.txt");
int counter=2;
if (output.canWrite() && output.exists()) {
BufferedWriter out= new BufferedWriter(new FileWriter(output, true));
out.write(type+" \n\n"); //writes the search type
out.write(type+"Search Results\n\n");
while (counter <= data.size()) {
out.write(data.get(counter-1)+" millisecond runtime " +
"for a "+ data.get(counter-2)+" random number " +"sample size\n");
counter=counter+2;
}
}
Est il possible que je peux effacer le texte dans ce fichier de sortie à chaque fois que le programme est exécuté?
la raison pour laquelle je fais cela est le professeur exige que l'impression des résultats avec les données graphiques. J'ai déjà terminé le graphique exigence, et il fonctionne très bien. Je veux juste avoir le fichier d'impression match le graphique de la version papier.
OriginalL'auteur Jason | 2010-01-24
Vous devez vous connecter pour publier un commentaire.
Comme déjà mentionné, l' [FileWriter][1] constructeur permet de spécifier pour effacer le texte existant et au début du fichier. Quelques autres remarques sur le code:
Comme suit:
[1]: http://java.sun.com/j2se/1.4.2/docs/api/java/io/FileWriter.html#FileWriter(java.io.Fichier, boolean)
OriginalL'auteur mangoDrunk
Le second argument de la FileWriter constructeur, qui vous êtes de passage en "vrai", est "append". I. e. parce que vous avez défini à true, il ajoutera à votre nouvelle sortie à la fin du fichier. Si vous passez false au lieu de cela, elle va effacer les données qui sont déjà là et l'écrire de nouveau.
OriginalL'auteur Paul Tomblin
Lire la documentation pour FileWriter. Vous ne pas souhaitez ajouter.
OriginalL'auteur Charlie Salts
Bon alors j'ai essayé quelque chose et cela a fonctionné. C'est quand vous avez un fichier qui est prévu pour ajouter un nouveau texte, mais vous souhaitez réinitialiser/effacer le contenu du fichier au début de l'exécution du programme. Espère que j'ai fait sens.
OriginalL'auteur Ramprasad Dutt