java– 如何计算Android上具有特定扩展名的文件数量?

java– 如何计算Android上具有特定扩展名的文件数量?,第1张

概述在我正在为Android开发的应用程序中,我让用户使用扩展名“.rbc”创建特定于我的应用程序的文件.到目前为止,我已经成功地创建,写入和读取这些文件.现在我正在尝试计算存在的这些文件的数量.我对Java并不是特别熟悉,我只是开始为Android编程,所以我觉得有点迷失.到目前为止,我所做

在我正在为Android开发的应用程序中,我让用户使用扩展名“.rbc”创建特定于我的应用程序的文件.到目前为止,我已经成功地创建,写入和读取这些文件.

现在我正在尝试计算存在的这些文件的数量.我对Java并不是特别熟悉,我只是开始为AndroID编程,所以我觉得有点迷失.到目前为止,我所做的所有尝试都无法找到带有我的扩展名的任何文件.

所以我基本上有两个问题我需要回答,以便我能解决这个问题:

AndroID存储应用程序创建的文件的默认目录在哪里?

你有什么例子可以告诉我在AndroID上计算具有特定扩展名的文件吗?

非常感谢你的时间.

解决方法:

一些测试向我展示了AndroID存储由应用程序使用Context.get@R_419_6852@sDir()创建的文件的默认目录是/ data / data /< your_package_name> / @R_419_6852@s

要计算任何给定目录中的文件,请在根目录上使用@[email protected]@R_419_6852@s(@R_419_6852@Filter).你的@R_419_6852@Filter应该是这样的(过滤“.rbc”文件):

public static class RBC@R_419_6852@Filter implements @R_419_6852@Filter {    @OverrIDe    public boolean accept(@R_419_6852@ pathname) {        String suffix = ".rbc";        if( pathname.getname().tolowerCase().endsWith(suffix) ) {            return true;        }        return false;    }}

如果您有某种目录结构,则需要递归搜索,然后在整个目录结构中必须使用@[email protected]@R_419_6852@s(@R_419_6852@Filter).它应该是这样的:

public static List<@R_419_6852@> List@R_419_6852@s(@R_419_6852@ rootDir, @R_419_6852@Filter filter, boolean recursive) {    List<@R_419_6852@> result = new ArrayList<@R_419_6852@>();    if( !rootDir.exists() || !rootDir.isDirectory() )         return result;    //Add all @R_419_6852@s that comply with the given filter    @R_419_6852@[] @R_419_6852@s = rootDir.List@R_419_6852@s(filter);    for( @R_419_6852@ f : @R_419_6852@s) {        if( !result.contains(f) )            result.add(f);    }    //Recurse through all available dirs if we are scanning recursively    if( recursive ) {        @R_419_6852@[] dirs = rootDir.List@R_419_6852@s(new DirFilter());        for( @R_419_6852@ f : dirs ) {            if( f.canRead() ) {                result.addAll(List@R_419_6852@s(f, filter, recursive));            }        }    }    return result;}

DirFilter将以这种方式实现@R_419_6852@Filter:

public static class DirFilter implements @R_419_6852@Filter {    @OverrIDe    public boolean accept(@R_419_6852@ pathname) {        if( pathname.isDirectory() )             return true;        return false;    }}
总结

以上是内存溢出为你收集整理的java – 如何计算Android上具有特定扩展名的文件数量?全部内容,希望文章能够帮你解决java – 如何计算Android上具有特定扩展名的文件数量?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1115889.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存