java – 如何计算Android上具有特定扩展名的文件数量?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 如何计算Android上具有特定扩展名的文件数量?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1842字,纯文字阅读大概需要3分钟。
内容图文
在我正在为Android开发的应用程序中,我让用户使用扩展名“.rbc”创建特定于我的应用程序的文件.到目前为止,我已经成功地创建,写入和读取这些文件.
现在我正在尝试计算存在的这些文件的数量.我对Java并不是特别熟悉,我只是开始为Android编程,所以我觉得有点迷失.到目前为止,我所做的所有尝试都无法找到带有我的扩展名的任何文件.
所以我基本上有两个问题我需要回答,以便我能解决这个问题:
Android存储应用程序创建的文件的默认目录在哪里?
你有什么例子可以告诉我在Android上计算具有特定扩展名的文件吗?
非常感谢你的时间.
解决方法:
一些测试向我展示了Android存储由应用程序使用Context.getFilesDir()创建的文件的默认目录是/ data / data /< your_package_name> / files
要计算任何给定目录中的文件,请在根目录上使用File.listFiles(FileFilter).你的FileFilter应该是这样的(过滤“.rbc”文件):
public static class RBCFileFilter implements FileFilter {
@Override
public boolean accept(File pathname) {
String suffix = ".rbc";
if( pathname.getName().toLowerCase().endsWith(suffix) ) {
return true;
}
return false;
}
}
如果您有某种目录结构,则需要递归搜索,然后在整个目录结构中必须使用File.listFiles(FileFilter).它应该是这样的:
public static List<File> listFiles(File rootDir, FileFilter filter, boolean recursive) {
List<File> result = new ArrayList<File>();
if( !rootDir.exists() || !rootDir.isDirectory() )
return result;
//Add all files that comply with the given filter
File[] files = rootDir.listFiles(filter);
for( File f : files) {
if( !result.contains(f) )
result.add(f);
}
//Recurse through all available dirs if we are scanning recursively
if( recursive ) {
File[] dirs = rootDir.listFiles(new DirFilter());
for( File f : dirs ) {
if( f.canRead() ) {
result.addAll(listFiles(f, filter, recursive));
}
}
}
return result;
}
DirFilter将以这种方式实现FileFilter:
public static class DirFilter implements FileFilter {
@Override
public boolean accept(File pathname) {
if( pathname.isDirectory() )
return true;
return false;
}
}
内容总结
以上是互联网集市为您收集整理的java – 如何计算Android上具有特定扩展名的文件数量?全部内容,希望文章能够帮你解决java – 如何计算Android上具有特定扩展名的文件数量?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。