当前位置:编程学习 > wap >>

android 如何获得资源文件的后缀名

    我在学习android写入文件时遇到了这样一个问题,我想将一个已经存在于项目资源文件中的文件写入SD卡中,
Resources resources=getBaseContext().getResources();
is=resources.openRawResource(imageAdapter.imageIDs[index]);
其中imageAdapter.imageIDs[index]是资源文件的索引

//取得资源文件的名称
String entryName=resources.getResourceEntryName(imageAdapter.imageIDs[index]);
但是不知道怎么样取得资源文件的后缀名,因为我想在这句代码中使用
File newFile=new File(root,"123.jpg");
我不想在代码中将文件名限制死,各位大虾帮帮忙,我弄了一个下午了还是没找到用什么方法来实现 --------------------编程问答-------------------- 可以通过实现FilenameFilter接口来操作。循环判断你获取的文件,判断下,FilenameFilter的使用如下:

/* 过滤文件类型 */
class MusicFilter implements FilenameFilter
{
public boolean accept(File dir, String name)
{
//这里还可以设置其他格式的音乐文件
return (name.endsWith(".mp3"));
}
}

--------------------编程问答-------------------- 系统有MimeType类 --------------------编程问答-------------------- contentResolver/contentProvider --------------------编程问答-------------------- String + endswith 判断就完了 --------------------编程问答--------------------
引用 2 楼 l417584711 的回复:
系统有MimeType类


MimeType请参考http://en.wikipedia.org/wiki/MIME_type#List_of_common_media_types --------------------编程问答-------------------- 首先要谢谢你 虽然你给的答案不是我想要的  我想要的答案是 如何取得资源文件的后缀名 比如说 drawable 中有一张名为123.png的图片资源,我想去的的是“123.png”这个全文件名或者“.png”这个后缀 --------------------编程问答-------------------- 刚才的回复是给1楼的 の.... --------------------编程问答-------------------- 2楼和5楼的给的答复好像有点答非所问,我问的是如何取得资源文件的后缀名,不是限制程序中可以执行哪些文件,但是还是要谢谢你们 --------------------编程问答--------------------  既然能得到文件名,那就可以把它转化成string对象,然后用string.subString(string.lastIndeOf(".")) --------------------编程问答--------------------
引用 9 楼 rambo_jay 的回复:
既然能得到文件名,那就可以把它转化成string对象,然后用string.subString(string.lastIndeOf("."))


上面少写了一个字:string.subString(string.lastIndexOf("."))
--------------------编程问答-------------------- 4楼的GG还是mm啊 也太给力了  我不否认那个方法可以实现我想要的功能,但是要写好多代码,毕竟你程式中可能会放很多不同类型的资源文件,这样一种一种判断好像太原始了,但也不失为最后的解决方法,谢谢你 --------------------编程问答-------------------- 3楼的大虾 能给一个实例吗,那个我查了还是不明白怎么用 --------------------编程问答--------------------
引用 10 楼 rambo_jay 的回复:
引用 9 楼 rambo_jay 的回复:
既然能得到文件名,那就可以把它转化成string对象,然后用string.subString(string.lastIndeOf("."))


上面少写了一个字:string.subString(string.lastIndexOf("."))


那个文件名是不包含后缀名的 --------------------编程问答-------------------- Context.getResources().getString(resId);
对于图片资源一样适用。 --------------------编程问答-------------------- --------------------编程问答-------------------- 真想大侠赶紧教出方法解决这个问题,我也很关注,如果楼主知道了,,能顺便告诉我一声吗??非常感谢 --------------------编程问答-------------------- 后缀啊,apk是一个zip文件,直接上zipentry遍历下就知道了 --------------------编程问答-------------------- 1楼的方法不可行么?添加过滤器应该可行吧 --------------------编程问答--------------------  getResources().getResourceEntryName(R.id)
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,