【发布时间】:2015-04-20 02:02:03
【问题描述】:
有没有获取文件路径的目录部分的功能?
所以从
String a="/root/sdcard/Pictures/img0001.jpg";
你得到
"/root/sdcard/Pictures"
【问题讨论】:
标签: java android path directory
有没有获取文件路径的目录部分的功能?
所以从
String a="/root/sdcard/Pictures/img0001.jpg";
你得到
"/root/sdcard/Pictures"
【问题讨论】:
标签: java android path directory
是的。首先构造一个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,而不是父级
更好的方法,使用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
【讨论】:
您也可以使用FilenameUtils from Apache。它为示例 C:\dev\project\file.txt 提供了至少以下功能:
【讨论】:
我在 4 天后得到了解决方案,请在 Android(Java) 中为 File 类提供路径时注意以下几点:
在 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
【讨论】: