目前我有
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
如何才能获得基本文件名?
答案 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