我必须将数据文本存储到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报告错误:权限被拒绝?
请帮帮我。
答案 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”方法。