我怎样才能得到在Android的
问题描述:
文件的权限和属性我怎么才能得到在代码中的Android的eclipse DDMS中列出的文件的权限。还有像 1)的属性。所有者和它的权限,如读,写,执行 2)。组和它的权限,如读,写,执行 3)。他人权限我怎样才能得到在Android的
在此先感谢。
答
ProcessBuilder processBuilder = new ProcessBuilder("ls", "-l").directory(new File(file.getParent()));// TODO CHECK IF THE FILE IS SD CARD PARENT IS NULL
if(BuildConfig.DEBUG)Log.v(TAG, "dir:-"+processBuilder.directory());
Process process = processBuilder.start();
PrintWriter out = new PrintWriter(new OutputStreamWriter(process.getOutputStream()));
BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream()));
out.flush();
String resultLine;
resultLine = in.readLine();
while (resultLine != null) {
System.out.println(resultLine);
}
上述代码的结果将是,
- “lrwxrwxrwx根根2012年12月12日13时34分的SD卡”
权限。 在于,
- 2,3,4-字符 - 显示读,写,执行者的许可,
- 5,6,7字符 - 显示读,写,执行组的权限,
-
8,9,10人物 - 节目读,写,执行等
然后,所有者和组的许可,
- 11至19个字符 - 显示了文件的所有者,
- 20至29个字符 - 显示文件组。
答
试试这个API
http://developer.android.com/reference/android/Manifest.permission.html
ACCESS_CHECKIN_PROPERTIES:允许读取 “属性” 表/写访问在checkin数据库,更改要上载的值。
+2
这不是关于清单权限。这是关于文件权限的。感谢您的建议。 – Moses
您可以在Process中使用'ls -l'命令。但我认为它只有在您拥有该目录的读权限的情况下才有效。否则你需要root权限。 – user370305
@Ridcully我有一个File对象。我有一个正常的属性,如大小,位置,mimetype等。我需要一个文件的所有者和组以及它们各自的权限 – Moses
@ user370305我已经植入了我的模拟器。但我不知道如何通过代码来获取正常用户创建的文件。 – Moses