Android SD卡內的文件讀寫操作

mxd2 10年前發布 | 758 次閱讀 Java

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";
    }

}</pre> 


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



  }</pre> 


 本文由用戶 mxd2 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!