Je travaille sur un devoir pour l'école, et j'essaie quelque chose au-delà pour un crédit supplémentaire. Le programme doit démontrer les différences d'efficacité entre une recherche binaire linéaire & pour une taille de tableau donnée d'entiers. J'ai une boucle configurée qui crée un tableau int [size], recherche un nombre aléatoire, puis crée un nouveau tableau de int [size * 2].Comment effacer un texte existant dans un fichier
Les résultats sont ensuite écrits dans un fichier texte. La sortie écrit bien, mais après avoir compilé plusieurs fois le programme &, le fichier de sortie contient autant de sections de données.
Ceci est mon code qui est imbriqué dans 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 que le professeur exige l'impression du résultat avec les données représentées graphiquement. J'ai déjà complété l'exigence graphique, et cela fonctionne bien. Je veux juste que l'impression du fichier corresponde à l'impression du graphique.
Merci pour l'aide. Quand j'ai changé la valeur booléenne à false, tout a bien fonctionné. Pour ce qui est de canWrite() et exists(), je n'y avais pas pensé, puisque j'ai utilisé ce conditionnel de l'exemple de l'auteur de fichiers de mon professeur, bien qu'il ait utilisé PrintStream & une méthode auxiliaire pour faire la même chose. Merci de l'avoir signalé. – Jason