【发布时间】:2017-07-02 14:07:52
【问题描述】:
在我自己尝试了很长一段时间后,是时候问你了:社区!我确定解决方案应该在另一篇文章的某个地方,但我根本找不到它(或将其应用于我的代码)。
我想实现以下目标:在启动我的 android 应用程序时,我想调用一个执行以下操作的方法:
读取“res/raw”目录中的所有文件名,我在其中存储了几个jpeg,并将这些文件的名称存储到一个数组中。
我想这应该不会太难回答,但我自己无法弄清楚。我已经查看了 listFiles() 命令,我想这是要走的路,但我无法让它工作。在这里,您将找到我的一段代码以及相关行:
public class Example{
File[] imageNames;
public void onCreate(){
scanFolder();
useTheDataFromScanFolder();
}
public void scanFolder (){
int numberOfFiles = new File("res\raw").listFiles().length;
imageNames = new File("res\raw").listFiles();
}
useTheDataFromScanFolder(){
//here I want to use numberOfFiles and the array imageId
}
}
我希望你能解决我的问题,或者把我推向正确的方向!提前致谢!!
编辑: 感谢 CommonsWare,我设法解决了我的问题,我设法让它使用以下代码(图片现在存储在 /assets/resources/ 中):
String [] fileList;
public void onCreate(Bundle savedInstanceState) {
listAssetFiles("resources");
}
public boolean listAssetFiles(String path) {
try {
fileList = getAssets().list(path);
} catch (IOException e) {
return false;
}
return true;
}
【问题讨论】:
-
您不能像这样在项目结构中以编程方式读取文件夹。在 apk 上,所有这些都是资源,而不是像带有文件夹等的文件系统中的文件......
标签: java android arrays filenames