首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在android中获取文件所有权和权限

如何在android中获取文件所有权和权限
EN

Stack Overflow用户
提问于 2013-07-01 20:57:09
回答 2查看 4.1K关注 0票数 3

使用ls,我可以获得以下信息。如何在android中从File对象中获取相同的内容。例如如何使用u0_a23对象获取文件名称字符串。

代码语言:javascript
复制
root@android:/ # ls /proc/ -l                                                  
dr-xr-xr-x root     root              2013-07-01 12:19 1
dr-xr-xr-x root     root              2013-07-01 12:19 10
dr-xr-xr-x root     root              2013-07-01 12:31 1069
dr-xr-xr-x root     root              2013-07-01 12:19 11
dr-xr-xr-x root     root              2013-07-01 12:19 12
dr-xr-xr-x root     root              2013-07-01 12:19 13
dr-xr-xr-x root     root              2013-07-01 12:19 14
dr-xr-xr-x root     root              2013-07-01 12:19 2
dr-xr-xr-x root     root              2013-07-01 12:19 25
dr-xr-xr-x root     root              2013-07-01 12:19 26
dr-xr-xr-x root     root              2013-07-01 12:19 27
dr-xr-xr-x root     root              2013-07-01 12:19 28
dr-xr-xr-x root     root              2013-07-01 12:19 29
dr-xr-xr-x root     root              2013-07-01 12:19 290
dr-xr-xr-x root     root              2013-07-01 12:19 292
dr-xr-xr-x system   system            2013-07-01 12:19 294
dr-xr-xr-x root     root              2013-07-01 12:19 3
dr-xr-xr-x system   system            2013-07-01 12:19 30
dr-xr-xr-x root     root              2013-07-01 12:19 31
dr-xr-xr-x root     root              2013-07-01 12:19 33
dr-xr-xr-x root     root              2013-07-01 12:19 34
dr-xr-xr-x radio    radio             2013-07-01 12:19 35
dr-xr-xr-x u0_a23   u0_a23            2013-07-01 12:20 357
EN

回答 2

Stack Overflow用户

发布于 2013-07-01 21:04:46

您可以创建Process对象并执行命令。您可以将File对象的路径附加为参数。之后,您可以从InputStream中读取结果。

如果你需要一个例子,请评论。

票数 0
EN

Stack Overflow用户

发布于 2013-07-02 00:08:27

在Java7中有Files#getOwner,否则唯一的方法就是,正如vRallev所说的,使用一个进程。

尝试一个进程,看看速度有多快(在我的设备上,调试模式下的Galaxy S2只需要40ms。我想不是很多)。

我试着用文件信息实现一个小的对象FileInfo。也许你会发现它很有用。我不确定它是否每次都能工作(我假设唯一缺少的参数可能是大小之类的东西),但它可能是一个开始。

代码语言:javascript
复制
public static void test() {
    long start = System.currentTimeMillis();
    BufferedWriter out;
    BufferedReader in;
    String test = "";
    List<FileInfo> fileInfoList = new ArrayList<FileInfo>();
    try {
        Process proc = Runtime.getRuntime().exec("ls -l");
        out = new BufferedWriter(new OutputStreamWriter(proc.getOutputStream()));
        in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
        String line = "";
        while((line = in.readLine()) != null) {
            fileInfoList.add(createFileInfo(line.split("\\s+")));
        }
        proc.waitFor();
        in.close();
        out.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
    long execTime = System.currentTimeMillis() - start;
    System.out.println(execTime);
}

private static FileInfo createFileInfo(String... args) {
    FileInfo fi = null;
    if(args.length == 6) {
        fi = new FileInfo(args[0],args[1],args[2],args[3] +" "+ args[4],args[5]);
    } else if(args.length == 7) {
        fi = new FileInfo(args[0],args[1],args[2],args[3],args[4] +" "+ args[5],args[6]);
    }
    return fi;
}

private static class FileInfo {
    private String permissions;
    private String owner;
    private String group;
    private String size;
    private String date;
    private String fileName;

    private FileInfo(String permissions, String owner, String group, String size, String date, String fileName) {
        this.permissions = permissions;
        this.owner = owner;
        this.group = group;
        this.size = size;
        this.date = date;
        this.fileName = fileName;
    }

    private FileInfo(String permissions, String owner, String group, String date, String fileName) {
        this.permissions = permissions;
        this.owner = owner;
        this.group = group;
        this.date = date;
        this.fileName = fileName;
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17405034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档