Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从DirectoryPath获取FolderName和FileName_Java_File - Fatal编程技术网

Java 如何从DirectoryPath获取FolderName和FileName

Java 如何从DirectoryPath获取FolderName和FileName,java,file,Java,File,我有目录路径: data/data/in.com.jotSmart/app\u custom/folderName/FileName 它作为字符串存储在ArrayList 像 arraylista; a、 添加(“data/data/in.com.jotSmart/app_custom/page01/Note01.png”); 现在,从这个路径,我想将page01作为一个单独的字符串,将Note01作为一个单独的字符串,并将其存储到两个字符串变量中。我试了很多次,但是没有得到结果。如果有人知道

我有目录路径:
data/data/in.com.jotSmart/app\u custom/folderName/FileName

它作为字符串存储在
ArrayList

arraylista;
a、 添加(“data/data/in.com.jotSmart/app_custom/page01/Note01.png”);

现在,从这个路径,我想将
page01
作为一个单独的字符串,将
Note01
作为一个单独的字符串,并将其存储到两个字符串变量中。我试了很多次,但是没有得到结果。如果有人知道,请帮我解决这个问题。

使用
.split
怎么样

answer = str.split(delimiter);

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

file.getParent(); // dir name from starting till end like data/data....../page01
file.getName(); // file name like note01.png
如果您需要目录名为page01,您可以从getparent获取路径u的子字符串

返回此抽象路径名的父目录的路径名字符串,如果此路径名未命名父目录,则返回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("."));
   }
}

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


对于文件名:
file.getName()

我发现这很有用。但在我的情况下,它不是一个文件,而是一个字符串,我存储在ArrayList中,比如ArrayList a;a、 添加(“data/data/in.com.jotSmart/app_custom/page01/Note01.png”)。现在我想把page01作为独立字符串,把Note01.png作为独立字符串,我想把它从路径中存储到字符串变量中,比如string s1=page01和string s2=Note01亲爱的,你可以把这两个值都存储在字符串中,当我说创建一个文件意味着,你必须给出文件的路径,如果文件已经存在的话,该文件将具有相同路径的引用。实际上,我编辑了我的问题。关于我想要的内容,我犯了一些错误。更新了答案以删除扩展。如果您告诉OP如何从字符串获取文件,然后提供更多解释,这可能是一个很好的答案。
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("."));
   }
}