android - 在 Android 中使用 "File file = new file(filename)"将文件保存在哪里

标签 android file

我正在编写一个 android 应用程序。在 MainActivity.java 中,我创建了一个方法来写入然后从文件中读取内容。这些代码运行成功,可以将数据存储在名为 abc.txt 的文件中,但我在 ES 文件资源管理器中找不到写入的文件。

public void writeInIt(View view) {


        try {
            String Message = editText.getText().toString();
            final File myFile = new File("abc.txt");
            if (!myFile.exists()) {myFile.createNewFile(); }

            FileOutputStream outputStream = new FileOutputStream(myFile);

            outputStream.write(Message.getBytes());
            outputStream.close();

            editText.setText("");
            Toast.makeText(getApplicationContext(), "Message Saved", Toast.LENGTH_LONG).show();

        } catch (IOException e) {
            e.printStackTrace();
        }


}

文件保存在哪里?为什么我不能通过文件资源管理器搜索它? 引用“http://developer.android.com/reference/java/io/File.html”,如果我包含路径,它肯定会存储在该路径位置。但是,如果我找不到目录,它仍然可以存储在设备中,但是文件实际保存在哪里???

最佳答案

"File file = new file(filename)"

此代码不保存任何内容,它只是为文件或目录路径创建一个类包装器。实际创建文件最接近的方法是使用 file.createNewFile 方法。

从谷歌有写文件的指南:Saving Files

[编辑]

以下代码生成异常“打开失败:EROFS(只读文件系统)”:

    File fl = new File("test12.txt");
    try {
      fl.createNewFile();
    } catch (IOException e) {
      e.printStackTrace();
    }

关于android - 在 Android 中使用 "File file = new file(filename)"将文件保存在哪里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33754141/

相关文章:

android - 单击 [仅限 Android],OneSignal 不会打开我的 flutter 应用程序

file - 如何以进程的百分比检查 CPU 和内存负载,然后将其输出到文件?

C++在类函数中和类外写入文件

android - 如何从android中的非 Activity 类调用 fragment

c++ - 在 C++ 文件中使用 eof()

python - 从文件中删除最后一个 Sprite

c++ - 处理错误的 ifstream

java - 无法在 Fragment 内的 onResume() 方法中检索 View

android - 如何从 Github 在 Android Studio 1.1 中导入和运行项目?

android - 在android中调整自定义对话框的大小