有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我正在打印一个存储文件的文件夹名

例如: 我有档案照片。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错误。 选择者。getPath()。getName()


共 (2) 个答案

  1. # 1 楼答案

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

    你需要的是^{}。它有变换路径的方法

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

    如果没有,那么“手动”的方法是查找路径分隔符(\),并将其拆分