打印文件来源的文件夹名称

时间:2012-12-11 16:19:18

标签: java substring

我正在尝试打印存储文件的文件夹名称。

实施例: 我有文件picture.jpg 存储在路径C:\ Users \ Desktop \ Foldername \ picture.jpg

是否可以打印“Foldername”。我尝试了一个子串,但这似乎依赖于我对字符编号进行硬编码.EG:

System.out.println(path.substring(33, 38));

如果要发布我的程序,并且用户有不同的文件路径 - 这将抵消子字符串。

要选择文件,我的程序有以下代码

chooser = new JFileChooser();
        chooser.setCurrentDirectory(new java.io.File(computerUsername+"\\Desktop\\Foldername"));
        chooser.setDialogTitle(choosertitle);
        chooser.setAcceptAllFileFilterUsed(true);

因此,下面的代码打印出一个nullpointexpection错误。     。chooser.getPath()的getName();

2 个答案:

答案 0 :(得分:3)

您需要的是java.io.File。它有转换路径的方法。

System.out.println(new File(path).getParentFile().getName());

如果你没有那个,那么“手动”的方法是寻找路径分隔符(\)并分开它们。

答案 1 :(得分:2)

File file = new File("C:\\Users\\Desktop\\Foldername\\picture.jpg");
String parentFolderName = file.getParentFile().getName();
相关问题