android读取raw文件
‘壹’ android中 R.raw.big怎么创建文件
打开eclipse,找到你的工程,在res文件夹下创建raw文件夹,之后,将视频或者音频文件拷贝到raw文件夹中,在程序中引用的时候就可以写成R.raw.xxx(xxx:视频或音频的名称)
之后你可以查看一下gen 文件夹下得 R.java中是否存在 raw xxx的ID,存在了说明可以在程序中引用了,不存在将上面步骤重来一次!
建议:最好是找个小一点的视频文件,不然启动程序会比较慢,因为启动程序时,eclipse会把视频文件与程序打包,一起上传到android模拟器的sdcard中,文件太大上传会比较慢,所以测试程序时,用个小视频文件就好!
‘贰’ android中如何用InputStreamReader读取 在raw文件夹中命名为 中文名字.txt 的文本文档
android解决文件中文编码问题:(关键是在字节流转换成字符流的过程中要定义转换格式gbk,gb2312,UTF-8之类的)
虚拟机到本地主机:
FileInputStream fis = new FileInputStream(文件名);
InputStreamReader isr = new InputStreamReader(fis, "gbk");
BufferedReader br = new BufferedReader(isr);
本地到虚拟机:OutPutStreamWriter osw = new OutPutStreamWriter(文件字节流,"gbk");
‘叁’ 关于Android中videoView.setVideoPath(“PATH”)的问题!!!急!!
path 是获取的路径,如果你把视频文件夹写在raw文件夹下 ,
/**
* raw文件夹下的文件处理工具类
*
* */
public class RawFileUtils {
private RawFileUtils( ){
}
/**
* 读取raw文件夹下的文件
* @param resourceId raw文件夹下的文件资源ID
* @return 文件内容
*
* */
public static String readFileFromRaw(Context context, int resourceId) {
if( null == context || resourceId < 0 ){
return null;
}
String result = null;
try {
InputStream inputStream = context.getResources().openRawResource( resourceId );
// 获取文件的字节数
int length = inputStream.available();
// 创建byte数组
byte[] buffer = new byte[length];
// 将文件中的数据读到byte数组中
inputStream.read(buffer);
result = EncodingUtils.getString(buffer, "utf-8");
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
}
然后 path=RawFileUtils.readFileFromRaw(mContext, resourceId );
‘肆’ Android中,raw中文件读取是乱码怎么解决
有的可以删除,有的不能删除,尽量别轻易删除否则系统容易出问题
‘伍’ 如何在Android开发中对properties文件进行读取
方法一:因为最终是通过流文件来进行properties文件读取的,所以很自然,我们想到要将文件放入到assets文件夹或者raw文件夹中了。
例如,我们这里有一个文件——>test.properties,如果放入了assets文件夹中,可以如下打开
Properties pro = new Properties();
InputStream is = context.getAssets().open("test.properties");
pro.load(is);
如果放入到raw文件夹中,可以通过如下方式打开
InputStream is = context.getResources().openRawResource(R.raw.test);
但是,有的时候我们不想获取android的上下文环境(context),而是像java中标准的方法加载properties文件,那么我们如何使用呢?请看方法二:
方法二:没有上下文的加载![推荐方式]
Properties pro = new Properties();
pro.load(FileLoad.class.getResourceAsStream("test.properties"));
其中,FileLoad是该加载方法所在类的类名。test.properties所存放的路径与FileLoad.java为同一包中。
但是,在android中,当我们打包生成apk后,将apk放入到真正的手机上时,你会找不到test.properties文件,不要惊讶,android中的资源文件是只能存放在assets或者res的子目录里面的,程序包中的资源文件编译后,是会丢失的!那么是不是我们的第二种方法就没法使用了? 当然不是,经过实验发现,将文件放入到assets文件夹里,而在传入路径里面填入文件绝对路径,还是可以引用该文件的。
代码:pro.load(FileLoad.class.getResourceAsStream("/assets/test.properties"));
注意:其中工程路径的根路径为"/"
‘陆’ android程序,R.raw.点不出自己的文件ID
R文件没有生成自己的id,通常是res目录下有错误。
解决方式:
选择“eclipse -- myeclipse”的clean,R文件便会出现。
在工程上点击鼠标右键,选择“Build Project”,R.java就会回复。这样在程序中调用R文件指向的资源,也就可以自动补全了。
从别的工程中拷贝一份R文件过来,然后string.xml里随便改动一下,也可更新R文件。
如果上述步骤都不行。可能是工程本身所引起的错误,比如resoure资源中的文件命名,资源文件名称需要全部小写。
检查R文件是否import 错误了。
‘柒’ android开发,java用gb2321编码读取raw文件夹中的中文txt文件,为什么遇到换行的时候出一个空方框
不同操作系统的换行符是不一样的
windows是\r\n
linux是\n
mac是\r
你这txt估计是按win的标准吧 android底层是linux 所以会多出一个\r
‘捌’ android 如何批量获取raw文件夹中的文件
也是看到别人写的,亲测有效。
Field[] fields = R.raw.class.getDeclaredFields();
String rawName;
for (int i = 0; i < fields.length; i++) {
rawName = fields[i].getName();
}
fields = null;
rawName就是文件名称,如果想要id的话可以通过下面的代码拿到,希望被采纳~
rawId = fields[i].getInt(R.raw.class);