获取assets,res,内部存储,外部存储

本文介绍了Android应用中不同类型的文件读写操作方法,包括从assets文件夹读取文件、读取res资源目录下的文件以及进行应用程序内部文件的读写操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//外部存储路径
Environment.getExternalStorageDirectory();

//assets文件读取流
getResources().getAssets().open(fileName);

//res资源路径下文件的读取流
getResources().openRawResource(R.raw.test);

//应用程序内部存储文件读取和写入流
openFileInput(name);
openFileOutput(name, mode);
<pre name="code" class="java">//获取assets文件夹里,某个文件的读取流

<span style="font-family: monospace; white-space: pre; background-color: rgb(240, 240, 240);">//--------------------------------------------------------------------------------------------------------------------------------------------
</span><pre name="code" class="java">//获取assets文件夹里,某个文件的读取流
try{InputStream is = getResources().getAssets().open("mydemo.txt");
//用转换流将字节转换成字符流,并指定字符编码
InputStreamReader isr = new InputStreamReader(is, "utf-8");
//将字符流装饰一下BufferedReader br = new BufferedReader(isr);
//缓冲String line = "";
//循环读取while ((line = br.readLine()) != null){
System.out.println(line);
}
} catch (IOException e){e.printStackTrace();}
//------------------------------------------------------------------------------------------------------------------------------------------
//读取res资源目录下,文件夹内的数据
try{InputStream is = getResources().openRawResource(R.raw.mydemo);
InputStreamReader isr = new InputStreamReader(is,"utf-8");
BufferedReader br = new BufferedReader(isr);String line = "";
while ((line = br.readLine()) != null){System.out.println(line);}} catch (IOException e){e.printStackTrace();}
//--------------------------------------------------------------------------------------------------------------------------------------------
//应用程序内部文件的读写操作try{//获取应用程序内部文件写入流
FileOutputStream fos = openFileOutput(fileName,Context.MODE_PRIVATE);
//转换OutputStreamWriter osw = new OutputStreamWriter(fos,"utf-8");
//包装BufferedWriter bw = new BufferedWriter(osw);
bw.write(et.getText().toString());
bw.close();
osw.close();
fos.close();
Toast.makeText(this, "成功", Toast.LENGTH_SHORT).show();
} catch (FileNotFoundException e){e.printStackTrace();} catch (UnsupportedEncodingException e){e.printStackTrace();} catch (IOException e){e.printStackTrace();}
<pre name="code" class="java">//--------------------------------------------------------------------------------------------------------------------------------------------
<span style="font-family: monospace; white-space: pre; background-color: rgb(240, 240, 240);">//</span>获取应用程序内部读取流

try{FileInputStream fis = openFileInput(fileName);
//转换InputStreamReader isr = new InputStreamReader(fis,"utf-8");
//包装BufferedReader br = new BufferedReader(isr);
//缓冲
String line = "";
//获取的数据
String data = "";
while((line = br.readLine()) != null){
data += line;
}
br.close();
isr.close();
fis.close();
tv.setText(data);
} catch (FileNotFoundException e){e.printStackTrace();} catch (IOException e){e.printStackTrace();}
 
 
//--------------------------------------------------------------------------------------------------------------------------------------------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值