选择文件的简单方法

时间:2015-06-17 14:19:19

标签: java filepath joptionpane jfilechooser

是否有一些简单的方法可以在Java中选择文件路径?我一直在搜索,JFileChooser不断出现,但这已经太过于我想要的了,因为它似乎需要为此制作一个完整的GUI。如果需要,我会这样做,但是有更简单的方法来获取文件路径吗?

我想知道是否有JOptionPane对话框来搜索文件路径。

3 个答案:

答案 0 :(得分:2)

当你没有周围的用户界面时,你可以简单地使用它(基于Valentin Montmirail的答案)

public static void main( String[] args ) throws Exception
{
    JFileChooser fileChooser = new JFileChooser();
    int returnValue = fileChooser.showOpenDialog( null );

    switch ( returnValue )
    {
    case JFileChooser.APPROVE_OPTION:
        System.out.println( "chosen file: " + fileChooser.getSelectedFile() );
        break;
    case JFileChooser.CANCEL_OPTION:
        System.out.println( "canceled" );
    default:
        break;
    }
}

答案 1 :(得分:1)

以下是在Java中选择文件路径的最简单方法:

public void actionPerformed(ActionEvent e) {
    //Handle open button action.
    if (e.getSource() == openButton) {
        int returnVal = fc.showOpenDialog(YourClass.this);

        if (returnVal == JFileChooser.APPROVE_OPTION) {
            File file = fc.getSelectedFile();
            //This is where a real application would open the file.
            log.append("Opening: " + file.getName() + "." + newline);
        } else {
            log.append("Open command cancelled by user." + newline);
        }
   } ...
}

你可以将这个动作插入一个按钮,例如,那就是它。您的按钮将打开GUI以选择文件,如果用户选择文件JFileChooser.APPROVE_OPTION,则您可以执行所需的操作(此处仅记录打开的内容)

如果您想要做其他事情(不绑定按钮?)或更复杂的事情(仅针对某些扩展过滤?),请参阅oracle文档(https://docs.oracle.com/javase/tutorial/uiswing/components/filechooser.html)。

答案 2 :(得分:0)

如果你只需要选择一个文件,JFileChooser并不复杂。

public class TestFileChooser extends JFrame {
    public void showFileChooser() {
        JFileChooser fileChooser = new JFileChooser();
        int result = fileChooser.showOpenDialog(this);
        if (result == JFileChooser.APPROVE_OPTION) {
            File selectedFile = fileChooser.getSelectedFile();
            System.out.println("Selected file: " + selectedFile.getAbsolutePath());
        }
    }
    public static void main(String args[]) {
        new TestFileChooser().showFileChooser();
    }
}