我正在尝试打印存储文件的文件夹名称。
实施例: 我有文件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();
答案 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();