android 怎么获取所有含有音频文件的文件夹

android 怎么获取所有含有音频文件的文件夹,第1张

EnvironmentgetExternalStorageDirectory()+目录 遍历上面目录就OK了。

注意是文件夹,比如我要获取视频文件夹,就是获取整个sd卡含有视频文件的文件夹,之所以想做这个,是因为MX player就是这样设计的,感觉还不错。

现在就是怎么获取含有视频或者音乐文件的文件夹,比如:

点击音乐按钮就获取所有含有音乐的文件夹

点击视频按钮就获取所有含有视频的文件夹

数据库中的文件的话,要adb shell进去查看数据库有没有该字段。存储卡上的文件的话,java中没有获取文件创建事件的接口。

一、 从resource中的raw文件夹中获取文件并读取数据(资源文件只能读不能写)

String res = "";

try{

InputStream in = getResources()openRawResource(Rrawbbi);

//在\Test\res\raw\bbitxt,

int length = inavailable();

byte [] buffer = new byte[length];

inread(buffer);

//res = EncodingUtilsgetString(buffer, "UTF-8");

//res = EncodingUtilsgetString(buffer, "UNICODE");

res = EncodingUtilsgetString(buffer, "BIG5");

//依bbitxt的编码类型选择合适的编码,如果不调整会乱码

inclose();

}catch(Exception e){

eprintStackTrace();

}

myTextViewsetText(res);//把得到的内容显示在TextView上

二、 从asset中获取文件并读取数据(资源文件只能读不能写)

String fileName = "yantxt"; //文件名字

String res="";

try{

InputStream in = getResources()getAssets()open(fileName);

// \Test\assets\yantxt这里有这样的文件存在

int length = inavailable();

byte [] buffer = new byte[length];

inread(buffer);

res = EncodingUtilsgetString(buffer, "UTF-8");

}catch(Exception e){

eprintStackTrace();

}

三、 从sdcard中去读文件,首先要把文件通过\android-sdk-windows\tools\adbexe把本地计算机上的文件copy到sdcard上去,adbexe push e:/Ytxt /sdcard/, 不可以用adbexe push e:\Ytxt \sdcard\ 同样: 把仿真器上的文件copy到本地计算机上用: adb pull /data/data/comtt/files/Testtxt e:/

String fileName = "/sdcard/Ytxt";

//也可以用String fileName = "mnt/sdcard/Ytxt";

String res="";

try{

FileInputStream fin = new FileInputStream(fileName);

//FileInputStream fin = openFileInput(fileName);

//用这个就不行了,必须用FileInputStream

int length = finavailable();

byte [] buffer = new byte[length];

finread(buffer);

res = EncodingUtilsgetString(buffer, "UTF-8");

finclose();

}catch(Exception e){

eprintStackTrace();

}

myTextViewsetText(res);

您好,Android的res文件夹是用来存储资源的,可以在res文件夹下建立一个raw文件夹,放置在raw文件夹下的内容会被原样打包,而不会被编译成二进制文件,并且可以通过R文件进行很方便地访问。

比如我们可以将更新信息、版权信息等放到txt文件中,然后放到raw文件中,然后很方便地进行访问。

在raw中放入一个atxt文件,然后就可以在Activity中使用getResources()openRawResource(Rrawa);方法获取一个此文件的InputStream类,而后就可以很方便地进行读写atxt了。

可以通过BufferedReader 流的形式进行流读取,之后通过readLine方法获取到读取的内容。

BufferedReader bre = null;

try {

String file = "D:/test/testtxt";

bre = new BufferedReader(new FileReader(file));//此时获取到的bre就是整个文件的缓存流

while ((str = brereadLine())!= null) // 判断最后一行不存在,为空结束循环

{

Systemoutprintln(str);//原样输出读到的内容

};

备注: 流用完之后必须close掉,如上面的就应该是:breclose(),否则bre流会一直存在,直到程序运行结束。

这个是由于android中的安全机制的缘故,由于android继承了Linux系统的传统,对于某个特定的目录有用户的权限,一共分为三种--可读,可写,可执行;虽然说可以设置某个特定的目录的权限,但是对于目录里面的子目录和子文件都可以进行权限的设置,也就是说出了根目录权限之外,子目录本身的权限也决定了子目录可否访问,这一点需要清楚了解,所以在判断完了是否是目录之外,还需要在进行listFiles()获取File[]数据后判断获取的数组是否为空,如果为空的话,文件夹是不可访问的。

你的这个文件是不是存在手机的内存卡里面呢,如果是可以这样做

//首先获取到手机内存卡的根路径

String rootPath = EnvironmentgetExternalStorageDirectory()getPath();

File file = new File(rootPath + "/atxt"); //假设文件就在内存卡的根目录下

得到file对象之后就跟Java一样处理了

以上就是关于android 怎么获取所有含有音频文件的文件夹全部的内容,包括:android 怎么获取所有含有音频文件的文件夹、在android中怎么获取文件的创建时间、android读取txt文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9457052.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存