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("."));
}
}