java - 将文件写入 SD 卡不起作用

标签 java android file sd-card

我写这个是为了在 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/

相关文章:

ios - Swift 将 UITextView 的文本保存在带有属性的文件中

java - 如何删除目录中上传的相同文件?

java - 在包含代码的 jar 文件旁边生成一个文件

php - MySql数据库设计,支持Android App

android - onIabPurchaseFinishedListener 永远不会被调用

java - 将 Rest Assured Response 从文本/事件流转换为 Json 以进行模式验证

java - 未在数据库上显式调用 close()

android - 如何模拟模拟器有 SD 卡?

java - Akka批量处理/单项处理

java - 如何知道哪个用户处于非 Activity 状态?