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();

}


}

posted @ 2013-12-22 14:05  你的月亮我的心cy  阅读(161)  评论(0)    收藏  举报