[size=small][color=olive][b]File:通过文件存储数据;
1、从resource中的raw文件夹中获取文件并读取数据(可以自动生成资源ID)
案例:读取res/raw/f.txt ---- 文件内容:欢迎测试从resource中的raw文件夹中获取文件并读取数据;
并通过提示显示给用户;
代码如下:[/b][/color][/size]
小贴士:
* 以上两种情况是在res资源目录下的资源文件,资源文件只能进行读,不能写;
1、从resource中的raw文件夹中获取文件并读取数据(可以自动生成资源ID)
案例:读取res/raw/f.txt ---- 文件内容:欢迎测试从resource中的raw文件夹中获取文件并读取数据;
并通过提示显示给用户;
代码如下:[/b][/color][/size]
/* File */
/* 测试:从raw对资源文件进行数据的读取,并显示 */
OnClickListener listerner_raw = new OnClickListener() {
public void onClick(View v) {
String temp = null;
try{
/* 获取流的对象 InputStream *//* 理解:通道建立 */
InputStream in = getResources().openRawResource(R.raw.f);
/* 获取文件的大小(字节数) */
int length = in.available();
/* 创建一个byte数组, 用于装载字节信息 */
byte[] buffer = new byte[length];
/* 开始读取文件read(); *//* 解释:将读取到的字节放入到buffer这个数组中 */
in.read(buffer);
/* 编码的转换三种类型:UTF-8 UNICODE BIG5 *//**/
temp = EncodingUtils.getString(buffer, "UTF-8");
//temp = EncodingUtils.getString(buffer, "UNICODE");
//temp = EncodingUtils.getString(buffer, "BIG5");
//temp = EncodingUtils.getString(buffer, "ANST");
/* 通过String 的构造方法,将字节数组构建成字符串 */
//String temp = new String(buffer);
/* 流的关闭close(); */
in.close();
Toast.makeText(MainActivity.this, temp.toString(), 1000).show();
}catch(Exception ex){
ex.printStackTrace();
}
}
};
2、从assets中获取文件并读取数据;(不能生成资源ID)
案例:在assets中有一个f.txt文件,读取文件中的数据
代码:
/* 测试:从assets中对文件进行读取 */
OnClickListener listener_assets = new OnClickListener() {
public void onClick(View v) {
String temp ="";
try{
/* 获取流的对象,建立通道 */
InputStream in = getResources().getAssets().open("f.txt");
/* 获取文件的大小(字节数) */
int length = in.available();
/* 创建一个byte数组, 用于装载字节信息 */
byte[] buffer = new byte[length];
/* 开始读取文件read(); *//* 解释:将读取到的字节放入到buffer这个数组中 */
in.read(buffer);
/* 编码的转换三种类型:UTF-8 UNICODE BIG5 *//* 编码的选择根据f.txt文件的编码类型进行调整 */
//temp = EncodingUtils.getString(buffer, "UTF-8");
//temp = EncodingUtils.getString(buffer, "UNICODE");
//temp = EncodingUtils.getString(buffer, "BIG5");
/* 通过String 的构造方法,将字节数组构建成字符串 */
//temp = new String(buffer);
/* 流的关闭close(); */
in.close();
}catch(Exception ex){
ex.printStackTrace();
}
Toast.makeText(MainActivity.this, temp+"", 1000).show();
}
};
小贴士:
* 以上两种情况是在res资源目录下的资源文件,资源文件只能进行读,不能写;