如何获取JFilechooser打开的文件的文件名?

时间:2015-12-01 04:02:20

标签: java jfilechooser

目前我有

    final JFileChooser fc = new JFileChooser("src\\MovieBoxOffice\\MovieFiles");
        int returnVal = fc.showOpenDialog(openJButton);
        if(returnVal == JFileChooser.APPROVE_OPTION)
        {
        try
        {
             File selectedFile = fc.getSelectedFile();
             String filename = selectedFile.getAbsolutePath();
(....rest of code)

所以filename是FULL路径。 它看起来像

F:\Project3\src\MovieBoxOffice\MovieFiles\November2015.txt

我希望它最终得到

November2015.txt

如果仅仅是2015年11月那就更好了

我似乎找不到直接获取文件名的方法。

我尝试使用拆分方法。

String[] str = filename.split("\\");

所以我可以得到数组的最后一项,也就是文件名。 但是这行代码抛出异常:

Exception in thread "AWT-EventQueue-0" java.util.regex.PatternSyntaxException: Unexpected internal error near index 1

如何才能获得基本文件名?

1 个答案:

答案 0 :(得分:3)

selectedFile.getName()。说真的,不要把它转换为String开始,File必须有许多不错的方法,比如selectedFile.getParentFile()会返回File的路径文件!

例如......

File selectedFile = new File("F:\\Project3\\src\\MovieBoxOffice\\MovieFiles\\November2015.txt");
System.out.println(selectedFile.getName());
System.out.println(selectedFile.getParentFile());

哪些输出......

November2015.txt
F:\Project3\src\MovieBoxOffice\MovieFiles

所以答案是,沟渠filename,使用selectedFile