从 java (android) 中的文件路径获取目录
Get the directory from a file path in java (android)
是否有获取文件路径的目录部分的函数?
所以来自
String a="/root/sdcard/Pictures/img0001.jpg";
你得到
"/root/sdcard/Pictures"
是的。首先构造一个File
表示图片路径:
File file = new File(a);
如果您从相对路径开始:
file = new File(file.getAbsolutePath());
然后,get the parent:
String dir = file.getParent();
或者,如果您希望目录作为 File
对象,
File dirAsFile = file.getParentFile();
更好的方法,使用 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:
提供了以下功能
- 前缀 - C:\
- 路径 - dev\project\
- 完整路径 - C:\dev\project\
- 姓名 - file.txt
- 基本名称 - 文件
- 扩展名 - txt
我在 4 天后找到了解决方案,在 Android(Java):
中提供文件 class 的路径时请注意以下几点
- 使用内部存储路径 String path="/storage/sdcard0/myfile.txt";
- path="/storage/sdcard1/myfile.txt";
在清单文件中提及权限。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
- 首先检查文件长度以确认。
- 检查 ES 文件资源管理器中关于 sdcard0 和 sdcard1 的路径是否相同,否则......
例如
File file=new File(path);
long=file.length();//in Bytes
是否有获取文件路径的目录部分的函数?
所以来自
String a="/root/sdcard/Pictures/img0001.jpg";
你得到
"/root/sdcard/Pictures"
是的。首先构造一个File
表示图片路径:
File file = new File(a);
如果您从相对路径开始:
file = new File(file.getAbsolutePath());
然后,get the parent:
String dir = file.getParent();
或者,如果您希望目录作为 File
对象,
File dirAsFile = file.getParentFile();
更好的方法,使用 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:
提供了以下功能- 前缀 - C:\
- 路径 - dev\project\
- 完整路径 - C:\dev\project\
- 姓名 - file.txt
- 基本名称 - 文件
- 扩展名 - txt
我在 4 天后找到了解决方案,在 Android(Java):
中提供文件 class 的路径时请注意以下几点- 使用内部存储路径 String path="/storage/sdcard0/myfile.txt";
- path="/storage/sdcard1/myfile.txt";
在清单文件中提及权限。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
- 首先检查文件长度以确认。
- 检查 ES 文件资源管理器中关于 sdcard0 和 sdcard1 的路径是否相同,否则......
例如
File file=new File(path);
long=file.length();//in Bytes