从java(android)中的文件路径获取目录
Posted
技术标签:
【中文标题】从java(android)中的文件路径获取目录【英文标题】:Get the directory from a file path in java (android) 【发布时间】:2015-04-20 02:02:03 【问题描述】:有没有获取文件路径的目录部分的功能?
所以从
String a="/root/sdcard/Pictures/img0001.jpg";
你得到
"/root/sdcard/Pictures"
【问题讨论】:
【参考方案1】:是的。首先构造一个File
代表图片路径:
File file = new File(a);
如果您从相对路径开始:
file = new File(file.getAbsolutePath());
那么,get the parent:
String dir = file.getParent();
或者,如果您希望目录作为File
对象,
File dirAsFile = file.getParentFile();
【讨论】:
如果您使用像File f = new File("file.txt");
这样的相对路径,请注意f.getParent()
将返回null
,而不是父级
如何从文件名中提取到“/root/sdcard/”或“/root/internal/”的路径?
@hexafraction,刚刚发布了一个问题***.com/questions/38381871/…【参考方案2】:
更好的方法,使用getParent()
from File
Class..
String a="/root/sdcard/Pictures/img0001.jpg"; // A valid file path
File file = new File(a);
String getDirectoryPath = file.getParent(); // Only return path if physical file exist else return null
http://developer.android.com/reference/java/io/File.html#getParent%28%29
【讨论】:
【参考方案3】:您也可以使用FilenameUtils from Apache。它为示例 C:\dev\project\file.txt 提供了至少以下功能:
前缀 - C:\ 路径 - dev\project\ 完整路径 - C:\dev\project\ 名称 - file.txt 基本名称 - 文件 扩展名 - txt【讨论】:
【参考方案4】:我在 4 天后得到了解决方案,请在 Android(Java) 中为 File 类提供路径时注意以下几点:
-
内部存储使用路径 String path="/storage/sdcard0/myfile.txt";
path="/storage/sdcard1/myfile.txt";
在 Manifest 文件中提及权限。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
例如
File file=new File(path);
long=file.length();//in Bytes
【讨论】:
以上是关于从java(android)中的文件路径获取目录的主要内容,如果未能解决你的问题,请参考以下文章
如何从我的 Android 应用程序中的所有目录中获取所有 pdf 文件
如何使用java从linux环境中获取tomcat中当前目录的相对路径