Java
Fermé
ssss
-
15 nov. 2012 à 22:13
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 19 nov. 2012 à 12:52
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 19 nov. 2012 à 12:52
A voir également:
- Java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Java décompiler - Télécharger - Langages
- Jeux java itel - Forum Mobile
2 réponses
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
16 nov. 2012 à 12:52
16 nov. 2012 à 12:52
Simplement :
Tu ouvres un fichier (FileWriter)
Tu lis les lignes sur la console (Scanner), et tu les mets dans le fichier.
Tu ouvres un fichier (FileWriter)
Tu lis les lignes sur la console (Scanner), et tu les mets dans le fichier.
try { FileWriter writer; JFileChooser chooser = new JFileChooser(); int returnVal = chooser.showOpenDialog(null); if(returnVal == JFileChooser.APPROVE_OPTION) { File file = chooser.getSelectedFile(); String path = file.getAbsolutePath(); writer = new FileWriter(path, false); writer.write("Coucou\n"); writer.flush(); writer.close(); } } catch (Exception ex) { }
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
16 nov. 2012 à 16:58
16 nov. 2012 à 16:58
Quelques petits conseils :
1) showSaveDialog (pour enregistrer un fichier) serait plus approprié ici que showOpenDialog
2) FileWriter accepte des constructeurs avec File, il n'est pas nécessaire de passer par le path, de plus le boolean false est la valeur par défaut, tu peux donc ne pas le préciser.
3) Quand tu écris dans un fichier il vaut mieux utiliser System.lineSeparator() plutôt que "\n" vu que sous Windows par exemple la fin de ligne c'est "\r\n" il en manque un morceau...
4) Un flush est inutile avec un close juste après, d'ailleurs il est en général inutile pour les fichiers, c'est une méthode héritée de OutputStream qui a surtout un intérêt pour des flux qui ne se ferment jamais comme les sockets.
5) Faire un try sur les exceptions sans rien mettre dans le catch, c'est un coup à ce que le programme plante sans qu'on ne le sache jamais puisqu'on aura rien affiché !
1) showSaveDialog (pour enregistrer un fichier) serait plus approprié ici que showOpenDialog
2) FileWriter accepte des constructeurs avec File, il n'est pas nécessaire de passer par le path, de plus le boolean false est la valeur par défaut, tu peux donc ne pas le préciser.
3) Quand tu écris dans un fichier il vaut mieux utiliser System.lineSeparator() plutôt que "\n" vu que sous Windows par exemple la fin de ligne c'est "\r\n" il en manque un morceau...
4) Un flush est inutile avec un close juste après, d'ailleurs il est en général inutile pour les fichiers, c'est une méthode héritée de OutputStream qui a surtout un intérêt pour des flux qui ne se ferment jamais comme les sockets.
5) Faire un try sur les exceptions sans rien mettre dans le catch, c'est un coup à ce que le programme plante sans qu'on ne le sache jamais puisqu'on aura rien affiché !
try { JFileChooser chooser = new JFileChooser(); if (chooser.showSaveDialog(null) == JFileChooser.APPROVE_OPTION) { FileWriter writer = new FileWriter(chooser.getSelectedFile()); writer.append("Coucou").append(System.lineSeparator()); writer.close(); } } catch (Throwable t) { t.printStackTrace(); }
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
19 nov. 2012 à 12:52
19 nov. 2012 à 12:52
System.lineSeparator() est une nouvelle méthode de Java 7, pour les versions précédentes il faudrait plutôt utiliser System.getProperty("line.separator")