3

如何通过代码获取 Eclipse DDMS for android 中列出的文件的权限。还有像1)这样的属性。所有者及其权限,如读、写、执行 2)。组和它的权限,如读、写、执行 3)。其他人的权限

提前致谢。

4

2 回答 2

2
    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 root root 2012-12-12 13:34 sdcard ”

在这个结果中,前 10 个字符是权限。在那里面,

  • 2,3,4 个字符 - 显示所有者的读、写、执行权限,

  • 5,6,7 个字符 - 显示组的读、写、执行权限,

  • 8,9,10 个字符 - 显示其他人的读、写、执行权限

    那么,所有者和组是,

  • 11 到 19 个字符 - 显示文件的所有者,

  • 20 到 29 个字符 - 显示文件组。

于 2012-12-12T10:21:22.933 回答
1

试试这个 api

http://developer.android.com/reference/android/Manifest.permission.html

ACCESS_CHECKIN_PROPERTIES :允许对签入数据库中的“属性”表进行读/写访问,以更改上传的值。

于 2012-11-26T11:48:53.100 回答