如何从目录路径获取文件夹名称和FileName

时间:2012-07-07 07:25:32

标签: java file

我将DirectoryPath作为“data / data / in.com.jotSmart / app_custom / folderName / FileName”存储为ArrayList

中的字符串

喜欢

ArrayList<String> a;

a.add("data/data/in.com.jotSmart/app_custom/page01/Note01.png");

现在从这条路径开始,我希望将page01作为单独的字符串,将Note01作为单独的字符串,并将其存储到两个字符串变量中。我尝试了很多,但无法得到结果。如果有人知道帮助我解决这个问题。

4 个答案:

答案 0 :(得分:8)

f.getParent()

  

返回此抽象路径名父项的路径名字符串,如果此路径名未指定父目录,则返回null。

例如

    File f = new File("/home/jigar/Desktop/1.txt");

    System.out.println(f.getParent());// /home/jigar/Desktop
    System.out.println(f.getName());  //1.txt

更新(根据相关更新)

如果data/data/in.com.jotSmart/app_custom/page01/Note01.png是文件系统中文件的有效表示,那么

for(String fileNameStr: filesList){
  File file = new File(fileNameStr);
  String dir = file.getParent().substring(file.getParent().lastIndexOf(File.separator) + 1);//page01
  String fileName = f.getName();
  if(fileName.indexOf(".")!=-1){
     fileName = fileName.substring(0,fileName.lastIndexOf("."));
   }
}

答案 1 :(得分:1)

使用此路径创建文件... 然后使用这两种方法获取目录名和文件名。

file.getParent(); // dir name from starting till end like data/data....../page01
file.getName(); // file name like note01.png

如果您需要将目录名称设置为page01,则可以从getparent获取路径的子字符串。

答案 2 :(得分:1)

对于文件夹名称:file.getParentFile().getName()

文件名:file.getName()

答案 3 :(得分:0)

如何使用.split

answer = str.split(delimiter);