gpt4 book ai didi

Android,如何获取文件夹中所有文件的列表?

转载 作者:IT老高 更新时间:2023-10-28 22:12:10 55 4
gpt4 key购买 nike

我需要 res/raw/中所有文件的名称(字符串)

我试过了:

File f = new File("/"); 
String[] someFiles = f.list();

看起来根目录是安卓模拟器的根目录……而不是我电脑的根目录。这很有意义,但并不能真正帮助我找出原始文件夹的存在位置。

更新:感谢所有精彩的回复。似乎其中一些正在起作用,但只让我成功了一半。也许更详细的描述会有所帮助

我想获取原始文件夹中的所有 mp3 文件,以便获取所有名称,然后将它们添加到 URI 以通过以下方式播放随机 MP3...

String uriStr = "android.resource://"+ "com.example.phone"+ "/" + "raw/dennis";
Uri uri = Uri.parse(uriStr);
singletonMediaPlayer = MediaPlayer.create(c, uri);

当我将“dennis.mp3”放入 Assets 文件夹时,它确实按预期显示,但是,使用上面的代码,我无法再访问该 MP3,除非有以下内容:

String uriStr = "android.assets://"+ "com.example.phone"+ "/" + "dennis";
Uri uri = Uri.parse(uriStr);

最佳答案

要列出原始 Assets 的所有名称,基本上是去掉扩展名的文件名,您可以这样做:

public void listRaw(){
Field[] fields=R.raw.class.getFields();
for(int count=0; count < fields.length; count++){
Log.i("Raw Asset: ", fields[count].getName());
}
}

由于实际文件一旦在电话上就不仅仅位于文件系统上,因此名称是无关紧要的,您需要通过分配给该资源名称的整数来引用它们。在上面的例子中,你可以得到这个整数:

int resourceID=fields[count].getInt(fields[count]);

这与您通过引用 R.raw.whateveryounamedtheresource 得到的 int 相同

关于Android,如何获取文件夹中所有文件的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6539715/

55 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com