[java] écrire pls fois dans un fichier .txt
Résolu/Fermé
moussecp
Messages postés
56
Date d'inscription
lundi 30 juillet 2007
Statut
Membre
Dernière intervention
10 mai 2012
-
9 août 2011 à 17:42
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 10 août 2011 à 12:25
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 10 août 2011 à 12:25
A voir également:
- [java] écrire pls fois dans un fichier .txt
- Fichier rar - Guide
- Fichier host - Guide
- Fichier iso - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
3 réponses
KX
Messages postés
16734
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
24 avril 2024
3 015
9 août 2011 à 17:52
9 août 2011 à 17:52
Effectivement il y a plus simple, en utilisant FileWriter(File file, boolean append)
Tu peux regarder un exemple d'utilisation sur Comment écrire à la fin d'un fichier ?
Tu peux regarder un exemple d'utilisation sur Comment écrire à la fin d'un fichier ?
Utilisateur anonyme
10 août 2011 à 08:12
10 août 2011 à 08:12
Salut,
Par défaut, on "écrase" le contenu éventuel du fichier:
Idem avec:
Pour écrire à la suite (append):
Cordialement,
Dan
Par défaut, on "écrase" le contenu éventuel du fichier:
PrintWriter out = new PrintWriter("File.txt");
Idem avec:
PrintWriter out = new PrintWriter("File.txt", false);
Pour écrire à la suite (append):
PrintWriter out = new PrintWriter("File.txt", true);
Cordialement,
Dan
moussecp
Messages postés
56
Date d'inscription
lundi 30 juillet 2007
Statut
Membre
Dernière intervention
10 mai 2012
10 août 2011 à 10:40
10 août 2011 à 10:40
Bonjour,
J'ai suivis vos conseils et malheureusement ça ne fonctionne pas. Peut-être ais-je mal compris ? En fait, mon compilateur me dit que l'expression FileWriter(file, bool) n'existe pas. =/
J'ai suivis vos conseils et malheureusement ça ne fonctionne pas. Peut-être ais-je mal compris ? En fait, mon compilateur me dit que l'expression FileWriter(file, bool) n'existe pas. =/
import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.io.PrintWriter; public class FileIO { private static File f = new File("OutputFile.txt"); public FileIO() throws IOException{ if (!f.exists()){ f.createNewFile(); } } public static void WriteInFile(String TextLine) throws FileNotFoundException{ PrintWriter out = new PrintWriter(f, true); out.println(TextLine); out.close(); } public static void main(String[] args) throws FileNotFoundException{ String number= null; for (int i = 0; i<10; i++){ number = String.valueOf(i); FileIO.WriteInFile(number + " Hello"); } } }
moussecp
Messages postés
56
Date d'inscription
lundi 30 juillet 2007
Statut
Membre
Dernière intervention
10 mai 2012
10 août 2011 à 11:00
10 août 2011 à 11:00
en fait si je comprends bien ce n'est pas PrintWriter qui possède la possibilité d'écrire à la suite mais FileWriter (comme le suggérait KX).
Voici, ci-dessous, mon nouveau code. Ça fonctionne mais j'aimerais pouvoir revenir à la ligne à chaque nouvelle écriture et non mettre tout à la suite. Je cherches...
=/
Voici, ci-dessous, mon nouveau code. Ça fonctionne mais j'aimerais pouvoir revenir à la ligne à chaque nouvelle écriture et non mettre tout à la suite. Je cherches...
=/
import java.io.File; import java.io.FileNotFoundException; import java.io.FileWriter; import java.io.IOException; import java.io.Writer; public class FileIO { private static File f = new File("OutputFile.txt"); private static FileWriter w = null; public FileIO() throws IOException{ if (!f.exists()){ f.createNewFile(); } } public static void WriteInFile(String TextLine) throws IOException { try{ w = new FileWriter(f, true); w.write(TextLine,0,TextLine.length()); }catch(IOException ex){ ex.printStackTrace(); }finally{ if(w != null){ w.close(); } } } public static void main(String[] args) throws IOException{ String number= null; for (int i = 0; i<10; i++){ number = String.valueOf(i); FileIO.WriteInFile(number + "_Hello"); } } }
moussecp
Messages postés
56
Date d'inscription
lundi 30 juillet 2007
Statut
Membre
Dernière intervention
10 mai 2012
10 août 2011 à 11:09
10 août 2011 à 11:09
Re-bonjour,
J'ai trouvé une solution à mon problème de saut de ligne. Ce n'est peut-être pas la plus efficace mais ça fonctionne. :)
J'ai trouvé une solution à mon problème de saut de ligne. Ce n'est peut-être pas la plus efficace mais ça fonctionne. :)
public static void main(String[] args) throws IOException{ String number= null; String newline = System.getProperty("line.separator"); for (int i = 0; i<10; i++){ number = String.valueOf(i); FileIO.WriteInFile(number + "_Hello" + newline); } }
KX
Messages postés
16734
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
24 avril 2024
3 015
10 août 2011 à 12:25
10 août 2011 à 12:25
Soit tu fais une vraie classe, soit tu mets tout en static mais le mélange des deux comme tu l'as fait alourdi inutilement le code, et donc complexifie son utilisation pour rien !
import java.io.FileWriter; import java.io.IOException; public class Test { private static final String SAUTLIGNE = System.getProperty("line.separator"); public static void append(String fileName, String line) throws IOException { FileWriter file = new FileWriter(fileName, true); file.write(line+SAUTLIGNE); file.close(); } public static void main(String[] args) throws IOException { for (int i = 0; i<10; i++) append("OutputFile.txt",i+"_Hello"); } }
9 août 2011 à 20:13