web-dev-qa-db-fra.com

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

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

Merci d'avance,

34
Tomek

Vous pouvez utiliser la classe JFileChooser , cochez cet exemple .

38
CMS

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());
}
15
Tomek

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();
    }
};
7
iberck

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.

0