Android 读写SD卡内的文件操作 :
关键代码
权限
<!-- 在SDCard中创建与删除文件权限 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<!-- 往SDCard写入数据权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<!-- 1 引入测试类库(放在application节点中) -->
<uses-library android:name="android.test.runner" />
<!-- 配置测试启动类(跟application节点平级) -->
<instrumentation
android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.geek.xml" />
1. [代码]读文件
private String readFromFile(Context context){
if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) {
String foldername = Environment.getExternalStorageDirectory().getPath()+ "/eryaApp";
File folder = new File(foldername);
if (folder == null || !folder.exists()) {
folder.mkdir();
}
File targetFile=new File("/sdcard/eryaApp/eryaShoppingList.txt");
String readedStr="";
try{
if(!targetFile.exists()){
targetFile.createNewFile();
return "No File error ";
}else{
InputStream in = new BufferedInputStream(new FileInputStream(targetFile));
BufferedReader br= new BufferedReader(new InputStreamReader(in, "UTF-8"));
String tmp;
while((tmp=br.readLine())!=null){
readedStr+=tmp;
}
br.close();
in.close();
return readedStr;
}
} catch (Exception e) {
Toast.makeText(context,e.toString(),Toast.LENGTH_LONG).show();
return e.toString();
}
}else{
Toast.makeText(context,"未发现SD卡!",Toast.LENGTH_LONG).show();
return "SD Card error";
}
}
写文件 :
private void SavedToText(Context context,String stringToWrite){
if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) {
String foldername = Environment.getExternalStorageDirectory().getPath()+ "/eryaApp";
File folder = new File(foldername);
if (folder == null || !folder.exists()) {
folder.mkdir();
}
String fileName="/eryaShoppingList"+".txt";
File targetFile = new File(foldername + fileName);
OutputStreamWriter osw;
try{
if(!targetFile.exists()){
targetFile.createNewFile();
osw = new OutputStreamWriter(new FileOutputStream(targetFile),"utf-8");
osw.write(stringToWrite);
osw.close();
}else{ "
osw = new OutputStreamWriter(new FileOutputStream(targetFile,true),"utf-8");
osw.write("\n"+stringToWrite);
osw.flush();
osw.close();
}
} catch (Exception e) {
Toast.makeText(context,e.toString(),Toast.LENGTH_LONG).show();
}
}else{
Toast.makeText(context,"未发现SD卡!",Toast.LENGTH_LONG).show();
}
}
浙公网安备 33010602011771号