如何获取 JFilechooser 打开的文件的文件名?
How do I get the file name of the file opened by 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)
所以文件名是完整路径。
看起来像
F:\Project3\src\MovieBoxOffice\MovieFiles\November2015.txt
我希望它最终只是
November2015.txt
如果是2015年11月就更好了
我好像找不到直接获取文件名的方法。
我试过用split方法
String[] str = filename.split("\");
所以我可以获得数组的最后一项,即文件名。
但是那行代码抛出异常:
Exception in thread "AWT-EventQueue-0" java.util.regex.PatternSyntaxException: Unexpected internal error near index 1
我怎样才能得到基本文件名?
selectedFile.getName()
。说真的,一开始不要将它转换为 String
,File
有很多不错的方法,比如 selectedFile.getParentFile()
会 return 你 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
目前我有
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)
所以文件名是完整路径。 看起来像
F:\Project3\src\MovieBoxOffice\MovieFiles\November2015.txt
我希望它最终只是
November2015.txt
如果是2015年11月就更好了
我好像找不到直接获取文件名的方法。
我试过用split方法
String[] str = filename.split("\");
所以我可以获得数组的最后一项,即文件名。 但是那行代码抛出异常:
Exception in thread "AWT-EventQueue-0" java.util.regex.PatternSyntaxException: Unexpected internal error near index 1
我怎样才能得到基本文件名?
selectedFile.getName()
。说真的,一开始不要将它转换为 String
,File
有很多不错的方法,比如 selectedFile.getParentFile()
会 return 你 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