Ajouter texte avant et après
Résolu
jayzman
-
jayzman -
jayzman -
Bonjour,
Je voudrai savoir comment faire pour ajouter un texte avant et après une liste des fichiers dans un autre fichier,
j'ai un code pour avoir tous les fichiers que je vais placer le nom dans un autre fichier,
voici que je vais avoir dans le fichier
#!/bin/sh/.decoder listes des fichiers séparer par espace -tab>/cygdrive/c/cygwin/home/colombna/decoder/jayztax.txt
j'ai indiqué entête et pied sur le code,
merci
jayzman
Je voudrai savoir comment faire pour ajouter un texte avant et après une liste des fichiers dans un autre fichier,
j'ai un code pour avoir tous les fichiers que je vais placer le nom dans un autre fichier,
voici que je vais avoir dans le fichier
#!/bin/sh/.decoder listes des fichiers séparer par espace -tab>/cygdrive/c/cygwin/home/colombna/decoder/jayztax.txt
j'ai indiqué entête et pied sur le code,
import java.awt.BorderLayout; import java.awt.Component; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileWriter; import java.io.IOException; import java.io.InputStreamReader; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; public class main { public static void main(String[] args){ final JFrame fenetre = new JFrame(); fenetre.setSize(200,200); fenetre.setLocationRelativeTo(null); fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); fenetre.setVisible(true); JMenuBar jmb = new JMenuBar(); JMenu jm = new JMenu("Ficher"); JMenuItem Ouvrir = new JMenuItem("Ouvrir"); jm.add(Ouvrir); jmb.add(jm); fenetre.add(jmb,BorderLayout.NORTH); final JFileChooser fc = new JFileChooser(); fc.setMultiSelectionEnabled(true) ; Ouvrir.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { Component fenetre = null; // TODO Auto-generated method stub int val_retour = fc.showOpenDialog(fenetre); if (val_retour == JFileChooser.APPROVE_OPTION) { File[] file = fc.getSelectedFiles(); //Boucle qui parcourt l'ensemble de fichiers String entete="#!/bin/sh/.decoder "; String pied =" -tab>/cygdrive/c/cygwin/home/colombna/decoder/jayztax.txt"; for(File f:file){ //System.out.println("#! /bin/sh/.decoder " +f.getName()+ "\n"); // System.out.println("Chemin absolu : "+f.getAbsolutePath()+"\n"); FileWriter writer = null; String texte = " "+f.getName(); try{ writer = new FileWriter("D:\\one.txt", true); writer.write(texte,0,texte.length()); }catch(IOException ex){ ex.printStackTrace(); }finally{ if(writer != null){ try { writer.close(); } catch (IOException ex) { Logger.getLogger(main.class.getName()).log(Level.SEVERE, null, ex); } } } } } else { System.out.println("L'ouverture est annulée\n"); } } }); } }
merci
jayzman
A voir également:
- Ajouter texte avant et après
- Transcription audio en texte word gratuit - Guide
- Excel cellule couleur si condition texte - Guide
- Avant browser - Télécharger - Navigateurs
- Ajouter signature word - Guide
- Ajouter liste déroulante excel - Guide
3 réponses
Bonjour,
Est-ce que tu avais vraiment besoin d'une interface graphique pour ça ?
Quelques méthodes utiles à connaître :
Files.readAllBytes/Files.write et Files.readAllLines/Files.write
Comme ça tu n'as pas à gérer toi même les lecture/écriture de fichiers.
Tu dois juste faire la concaténation de byte[] ou de List<String> pour mettre ton header avant et ton footer après le contenu du fichier de départ.
Est-ce que tu avais vraiment besoin d'une interface graphique pour ça ?
Quelques méthodes utiles à connaître :
Files.readAllBytes/Files.write et Files.readAllLines/Files.write
Comme ça tu n'as pas à gérer toi même les lecture/écriture de fichiers.
Tu dois juste faire la concaténation de byte[] ou de List<String> pour mettre ton header avant et ton footer après le contenu du fichier de départ.
Bonjour,
Vous pouvez le faire en créant votre "writer" avant la boucle, écrire l'entête, puis écrire la liste des fichiers dans la boucle pour terminer avec le pieds avant de fermer le writer.
Tout ce code doit être mis dans un try...catch...finally comme vous l'avez déjà fait.
Bon Courage.
Vous pouvez le faire en créant votre "writer" avant la boucle, écrire l'entête, puis écrire la liste des fichiers dans la boucle pour terminer avec le pieds avant de fermer le writer.
String entete="#!/bin/sh/.decoder ";
String pied =" -tab>/cygdrive/c/cygwin/home/colombna/decoder/jayztax.txt";
FileWriter writer = new FileWriter("D:\\one.txt", true);
writer.write(entete);
for(File f:file){
String texte = " "+f.getName();
writer.write(texte,0,texte.length());
}
writer.write(pieds);
Tout ce code doit être mis dans un try...catch...finally comme vous l'avez déjà fait.
Bon Courage.
Merci à vous
voici le code final et il marche
jayzman
voici le code final et il marche
String entete="avant"; String pied="apres"; FileWriter writer = null; try { writer = new FileWriter("one.txt",true); } catch (IOException ex) { Logger.getLogger(Interface.class.getName()).log(Level.SEVERE, null, ex); } try { writer.write(entete); } catch (IOException ex) { Logger.getLogger(Interface.class.getName()).log(Level.SEVERE, null, ex); } for(File f:file){ //System.out.println("#! /bin/sh/.decoder " +f.getName()+ "\n"); // System.out.println("Chemin absolu : "+f.getAbsolutePath()+"\n"); String texte = " "+f.getAbsolutePath(); try{ //File.Copy("fichier1", "fichier2", true); //File in = new File ("D:\\one.txt" ); writer.write(texte,0,texte.length()); }catch(IOException ex){ ex.printStackTrace(); } } try { writer.write(pied); } catch (IOException ex) { Logger.getLogger(Interface.class.getName()).log(Level.SEVERE, null, ex); } finally{ if(writer != null){ try { writer.close(); } catch (IOException ex) { } } }
jayzman
Une remarque : pour éviter les gros blocs de code comme ceci :
Tu peux faire plus simplement :
Cela est possible depuis Java 7 grâce à l'interface AutoCloseable de FileWriter.
Voir : The try-with-resources Statement
FileWriter writer = null; try { writer = new FileWriter("one.txt",true); writer.write(entete); } catch (IOException ex) { ... } finally{ if (writer != null) { try { writer.close(); } catch (IOException ex) { } } }
Tu peux faire plus simplement :
try (FileWriter writer = new FileWriter("one.txt",true)) { writer.write(entete); } catch (IOException ex) { ... }
Cela est possible depuis Java 7 grâce à l'interface AutoCloseable de FileWriter.
Voir : The try-with-resources Statement
merci KX
c'est intéressant
jayzman