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

您所在的位置:网站首页 android读取文件夹下所有文件 android获取文件列表,Android,如何获取文件夹中所有文件的列表?

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

2024-03-17 14:55| 来源: 网络整理| 查看: 265

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

我试过了:File f = new File("/"); String[] someFiles = f.list();

看起来根目录是android模拟器的根目录…而不是我的计算机根目录。 这有足够的意义,但并没有真正帮助我找出原始文件夹存在的位置。

更新:感谢所有的好评。 似乎其中一些是有效的,但只让我走了一半。 也许更详细的描述会有所帮助

我想获取原始文件夹中的所有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);

要列出原始资产的所有名称(基本上是剥离了扩展名的文件名),您可以执行以下操作:

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相同

此代码将从sdCard的“New Foder”中检索所有文件。

File sdCardRoot = Environment.getExternalStorageDirectory(); File yourDir = new File(sdCardRoot, "New Folder"); for (File f : yourDir.listFiles()) { if (f.isFile()) { String name = f.getName(); Log.i("file names", name); } }

并确保在manifest.xml文件中添加android sd卡写入权限

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

设备上的res/raw/中没有文件。 那些是资源。 除了使用reflection迭代R.raw类的静态数据成员以获取各种ID名称和值之外,没有好的方法来迭代资源。

但是并没有真正帮助我找出原始文件夹的存在位置。

作为文件夹,它仅存在于您的开发计算机上。 它不是设备上的文件夹。

您可以使用AssetManager :

据我所知,你将有列表(只是尝试不同的路径):

final String[] allFilesInPackage = getContext().getResources().getAssets().list("");

查看http://developer.android.com/reference/android/content/res/Resources.html您通常可以使用getResources()获取与您的应用程序关联的Resources实例。

Resources类提供对http://developer.android.com/reference/android/content/res/AssetManager.html的访问(参见getAssets()方法)。 最后使用AssetManager.list()方法获取对打包(apk)文件的访问权限。 请享用!

从Context ,您可以调用以下内容:

getResources().getAssets().list("thePath");

链接到文档



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3