我写这个是为了在 SD 卡中存储文件,但它不起作用。
public class TestarFilesActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
File root = Environment.getExternalStorageDirectory();
try {
if (root.canWrite()) {
File file = new File(root, "agora.txt");
FileWriter fwriter = new FileWriter(file);
BufferedWriter out = new BufferedWriter(fwriter);
out.write("Hello world");
out.close();
}
} catch (IOException e) {
e.printStackTrace();
}TestarFilesActivity.this.finish();
}
}
这个问题是如何引起的以及如何解决?我认为一切都是正确的,我也在 list 中写了许可。
最佳答案
如果您在 Android 模拟器中运行此应用程序,则必须通过 DevTools 终端模拟器准备 sdcard,并使用 linux 命令作为 $ls 检查 sdcard 目录并允许 sdcard 如果不可用,请准备好并尝试以下操作
File file = new File(root, "/sdcard/agora.txt");
FileWriter fwriter = new FileWriter(file);
BufferedWriter out = new BufferedWriter(fwriter);
out.write("Hello world");
out.close();
//Use this in manifest.xml
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
关于java - 将文件写入 SD 卡不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6392330/