Jfilechooser

mouna310 Messages postés 43 Statut Membre -  
mouna310 Messages postés 43 Statut Membre -
Bonjour,
j'ai un probleme avec l'enregitrement de ficher je veux choisir ou je veux placer mon fichier et après cliquer sur save voila le code

// SimpleFileChooser.java
// A simple file chooser to see what it takes to make one of these work.
//
import java.awt.*;
import java.awt.event.*;
import java.io.*;

import javax.swing.*;

public class SimpleFileChooser extends JFrame implements ActionListener {

   public SimpleFileChooser() {
    super("File Chooser Test Frame");
    setSize(400, 200);
    setDefaultCloseOperation(EXIT_ON_CLOSE);

    Container c = getContentPane();
    c.setLayout(new FlowLayout());
    JLabel label =new JLabel("Fichier LDIF:");
    JButton openButton = new JButton("Open");

    JButton expButton = new JButton("Export");
    JButton canl = new JButton("Cancel");
    canl.addActionListener(new ActionListener()
 
 {
  public void actionPerformed( ActionEvent e)
 {
  dispose();
 }
 });
 


    final JTextField statusbar = 
                 new JTextField(20);

    // Create a file chooser that opens up as an Open dialog
    openButton.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent ae) {
        JFileChooser chooser = new JFileChooser();
        chooser.setMultiSelectionEnabled(true);
        int option = chooser.showOpenDialog(SimpleFileChooser.this);
        if (option == JFileChooser.APPROVE_OPTION) {
          File[] sf = chooser.getSelectedFiles();
          String filelist = "nothing";
          if (sf.length > 0) filelist = sf[0].getName();
          for (int i = 1; i < sf.length; i++) {
            filelist += ", " + sf[i].getName();
          }
          statusbar.setText(" " + filelist);
        }
        else {
          statusbar.setText("You canceled.");
        }
      }
    });

    // Create a file chooser that opens up as a Save dialog
    
    expButton.addActionListener(new ActionListener() { 
     public void actionPerformed(ActionEvent ae) { 
     JFileChooser chooser = new JFileChooser(); 
     int option = chooser.showOpenDialog(SimpleFileChooser.this); 
     if (option == JFileChooser.APPROVE_OPTION) { 
     statusbar.setText("You saved " + ((chooser.getSelectedFile()!=null)? 
     chooser.getSelectedFile().getName():"nothing")); 
     File file = chooser.getSelectedFile(); 
     try { 
     FileWriter fw = new FileWriter(file); 
     fw.write(statusbar.getText()); 
     } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
     } 


     } 
     else { 
     statusbar.setText("You canceled."); 
     } 
     } 
     }); 

    // Create a file chooser that allows you to pick a directory
    // rather than a file
    c.add(label);

    c.add(statusbar);
    c.add(openButton);
    c.add(expButton, BorderLayout.SOUTH);
    c.add(canl, BorderLayout.SOUTH);
  
  }

  public static void main(String args[]) {
    SimpleFileChooser sfc = new SimpleFileChooser();
    sfc.setVisible(true);
  }

@Override
public void actionPerformed(ActionEvent e) {
 // TODO Auto-generated method stub
 
}
}

1 réponse

  1. yamdjio Messages postés 91 Statut Membre 5
     
    Bonjour,
    je vais te donner le code pour choisir le dossier de destination du fichier et creer le fichier dans ce dossier, tu pourras l'adapter a ton projet.

    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileWriter;
    import java.io.IOException;
    import javax.swing.JFileChooser;
    
    
    public class test {
    
    public static void main(String[] args) {;
    JFileChooser choix = new JFileChooser("C:\\");
    choix.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
    int faisable = choix.showOpenDialog(null);
    if(faisable == JFileChooser.APPROVE_OPTION) {
    File dossier = choix.getSelectedFile();
    String chemin;
    chemin= dossier.getAbsolutePath();
    System.out.println(chemin);
    String nom_f;
    nom_f=chemin.replace("\\\\","\\\\\\\\");
    try {
     BufferedWriter writer = new BufferedWriter(new FileWriter(new File(nom_f+"\\test.txt")));
     writer.close();
     }
     catch (IOException e)
     {
     e.printStackTrace();
     }
    
    }
    }
    } 
    0
    1. mouna310 Messages postés 43 Statut Membre
       
      merci beaucouq :D mais est ce que je peux enregitrer le fichier avec des donnèes ?? parce que il est vide :)
      0
      1. yamdjio Messages postés 91 Statut Membre 5 > mouna310 Messages postés 43 Statut Membre
         
        Oui bien sur, sinon quel est l'intérêt d'avoir un fichier, avant
        writer.close();
        utilise la méthode
        writer.write(String)
        pour ecrire une ligne dans le fichier et
        writer.newLine();
        pour aller a la ligne dans le fichier.
        0
    2. mouna310 Messages postés 43 Statut Membre
       
      youpppiii merci infiniment
      0