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

Java 打印文件来源的文件夹名称,java,substring,Java,Substring,我正在尝试打印存储文件的文件夹名称 例如: 我有picture.jpg文件 存储在路径C:\Users\Desktop\Foldername\picture.jpg中 是否可以打印“Foldername”。我尝试了一个子串,但这似乎依赖于我硬编码的字符数。例如: System.out.println(path.substring(33, 38)); 如果我的程序要发布,而用户有一个不同的文件路径-这将偏移子字符串 要选择文件,我的程序有以下代码 chooser = new JFileChoos

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

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

是否可以打印“Foldername”。我尝试了一个子串,但这似乎依赖于我硬编码的字符数。例如:

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()

你需要的是。它具有变换路径的方法

System.out.println(new File(path).getParentFile().getName());
如果没有,则“手动”查找路径分隔符(
\
)并将其拆分。

您需要的是。它具有变换路径的方法

System.out.println(new File(path).getParentFile().getName());
File file = new File("C:\\Users\\Desktop\\Foldername\\picture.jpg");
String parentFolderName = file.getParentFile().getName();
如果没有,则“手动”查找路径分隔符(
\
)并将其拆分

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