0

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

示例:我将文件 picture.jpg 存储在路径 C:\Users\Desktop\Foldername\picture.jpg

是否可以打印“文件夹名”。我已经尝试了一个子字符串,但这似乎依赖于我对字符数进行硬编码。例如:

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 错误。选择器.getPath().getName();

4

2 回答 2

3

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

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

如果您没有,“手动”执行此操作的方法是查找路径分隔符 ( \) 并围绕它们进行拆分。

于 2012-12-11T16:21:43.440 回答
2
File file = new File("C:\\Users\\Desktop\\Foldername\\picture.jpg");
String parentFolderName = file.getParentFile().getName();
于 2012-12-11T16:23:24.747 回答