35 votes

Comment rechercher un fichier dans la bibliothèque java swing?

Je me demandais s'il y avait une sorte d'outil J dans la bibliothèque java swing qui ouvre une fenêtre de navigateur de fichiers et permet à un utilisateur de choisir un fichier. La sortie du fichier serait alors le chemin absolu du fichier choisi.

Merci d'avance,

39voto

CMS Points 315406

Vous pouvez utiliser la classe JFileChooser , consultez cet exemple .

16voto

Tomek Points 1536

Merci pour l'information. J'ai fini par utiliser ce morceau de code rapide qui faisait exactement ce dont j'avais besoin.

             final JFileChooser fc = new JFileChooser();
            fc.showOpenDialog(this);

            try {
                // Open an input stream
                Scanner reader = new Scanner(fc.getSelectedFile());
            }
 

7voto

iberck Points 785

L'exemple suivant crée un sélecteur de fichiers et l'affiche comme boîte de dialogue de fichier ouvert puis comme boîte de dialogue de fichier de sauvegarde:

 String filename = File.separator+"tmp";
JFileChooser fc = new JFileChooser(new File(filename));

// Show open dialog; this method does not return until the dialog is closed
fc.showOpenDialog(frame);
File selFile = fc.getSelectedFile();

// Show save dialog; this method does not return until the dialog is closed
fc.showSaveDialog(frame);
selFile = fc.getSelectedFile();
 

Voici un exemple plus élaboré qui crée deux boutons qui créent et affichent des boîtes de dialogue de sélection de fichiers.

 // This action creates and shows a modal open-file dialog.
public class OpenFileAction extends AbstractAction {
    JFrame frame;
    JFileChooser chooser;

    OpenFileAction(JFrame frame, JFileChooser chooser) {
        super("Open...");
        this.chooser = chooser;
        this.frame = frame;
    }

    public void actionPerformed(ActionEvent evt) {
        // Show dialog; this method does not return until dialog is closed
        chooser.showOpenDialog(frame);

        // Get the selected file
        File file = chooser.getSelectedFile();
    }
};

// This action creates and shows a modal save-file dialog.
public class SaveFileAction extends AbstractAction {
    JFileChooser chooser;
    JFrame frame;

    SaveFileAction(JFrame frame, JFileChooser chooser) {
        super("Save As...");
        this.chooser = chooser;
        this.frame = frame;
    }

    public void actionPerformed(ActionEvent evt) {
        // Show dialog; this method does not return until dialog is closed
        chooser.showSaveDialog(frame);

        // Get the selected file
        File file = chooser.getSelectedFile();
    }
};
 

0voto

Dans WebStart et le nouveau plug-in 6u10, vous pouvez utiliser FileOpenService, même sans autorisations de sécurité. Pour des raisons évidentes, vous obtenez uniquement le contenu du fichier, pas le chemin du fichier.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X