2012-04-01 88 views
0

我必須將數據文本存儲到SD卡。在android中存儲數據文本到SD卡?

這是我的代碼:

try { 

       File myFile = new File(Environment.getExternalStorageDirectory()+"/mnt/sdcard/mysdfile.txt"); 

       myFile.createNewFile(); 
       FileOutputStream fOut = new FileOutputStream(myFile); 
       OutputStreamWriter myOutWriter = 
             new OutputStreamWriter(fOut); 
       myOutWriter.append(txtData.getText()); 
       myOutWriter.close(); 
       fOut.close(); 
       Toast.makeText(getBaseContext(), 
         "Done writing SD 'mysdfile.txt'", 
         Toast.LENGTH_SHORT).show(); 
      } catch (Exception e) { 
       Toast.makeText(getBaseContext(), e.getMessage(), 
         Toast.LENGTH_SHORT).show(); 
      } 

在AndroidMainfest我有:

<uses-permission android:name="android.permisson.READ_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

我不明白爲什麼它不工作?

Toast報錯:Permission denied?

請幫幫我。

+0

當你嘗試時會發生什麼? – 2012-04-01 08:15:14

+0

嘗試更改爲: 'File myFile = new File(「/ mnt/sdcard/mysdfile.txt」);' – idiottiger 2012-04-01 08:21:49

+0

[將文件寫入SD卡]可能的副本(http://stackoverflow.com/questions/2455102 /寫一個文件到SD卡) – jww 2015-02-18 08:27:19

回答

0

試試這個代碼必須解決的問題......

try{ 
    String filename = "filename.txt"; 
    File myFile = new File(Environment.getExternalStorageDirectory(), filename); 

    if(!myFile.exists()) 
     myFile.createNewFile(); 
    FileOutputStream fos; 
    byte[] data = txtData.getBytes(); 
    try { 
     fos = new FileOutputStream(myFile); 
     fos.write(data); 
     fos.flush(); 
     fos.close(); 
    } 
    catch (FileNotFoundException e) { 
    // handle exception 
    } catch (IOException e) { 
    // handle exception 
    }