将数据文本存储到Android中的SD卡?

时间:2012-04-01 08:14:04

标签: android sd-card

我必须将数据文本存储到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报告错误:权限被拒绝?

请帮帮我。

2 个答案:

答案 0 :(得分: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
  }

答案 1 :(得分:0)

你也可以尝试这个https://github.com/uberspot/AndroidStorageUtils它是一个包装类/包,它使android中的存储使用更容易一些。 :)它还有一个“saveStringOnExternalStorage”方法。