android文件读写(更新中……)

来源:互联网 发布:淘宝最好的手机店 编辑:程序博客网 时间:2024/05/17 22:05
1、各种类型文件
(1)android资源文件(这些数据只能读取,不能写入。更重要的是该目录下的文件大小不能超过1M。)
res/raw目录     使用InputStream inStream = getResources().openRawResource(R.raw.test);
assets目录      使用InputStream inStream = getAssets().open(fileName);

(2)android数据区文件(data/data/)
FileInputStream inStream openFileInput(fileName);
FileOutputStream outStream = openFileOutput(tarPath, MODE_PRIVATE);

(3)SD卡文件
FileInputStream inStream new FileInputStream(fileName);
FileOutputStream outStream =  new FileOutputStream(tarPath);

2、读取/写入数据使用InputStream和OutputStream时需捕获异常try{} catch(IOException e){},或者在函数名称后加上throws IOException
(1)返回字符串
int size = inStream.available();
byte[] buffer = new byte[size];
inStream.read(buffer);
inStream.close();
String res = new String(buffer);
//String res = EncodingUtils.getString(buffer, "UTF-8");//依文件的编码类型选择合适的编码,如果不调整会乱码
return res;

(2)存放到数据区文件中
byte[] buffer = new byte[8*1024];//定义写入空间大小
FileOutputStream outStream = openFileOutput(tarPath, MODE_PRIVATE);//MODE_PRIVATE为Context类变量,默认值为0
int len;
while ((len =  inStream.read(buffer)) >= 0) {
     outStream.write(buffer, 0, len);
}

(3)存放到SD卡文件中
byte[] buffer = new byte[8*1024];
FileOutputStream outStream = new FileOutputStream(tarPath);
int len;
while ((len =  inStream.read(buffer)) >= 0) {
     outStream.write(buffer, 0, len);
}

(4)字符串写入文件
FileOutputStream outStream = new FileOutputStream(tarPath);
byte[] buffer =  res.getBytes();
outStream.write(buffer);
outStream.close();
原创粉丝点击