android获取文件列表,Android,如何获取文件夹中所有文件的列表? |
您所在的位置:网站首页 › android读取文件夹下所有文件 › android获取文件列表,Android,如何获取文件夹中所有文件的列表? |
我需要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 |