Android:外部存储中写入的文件未显示

时间:2019-06-14 07:34:59

标签: java android filesystems

我正在尝试编写文本文件并将其保存在android外部存储中,但是文件未显示,并且没有收到任何错误。

这是我的代码:

String r;
String fname= "readme.txt";
r = Environment.getExternalStorageDirectory().toString();

File myDir = new File(r);    
if (!myDir.exists()) {
    myDir.mkdirs();
}

File file = new File (myDir, fname);
if (file.exists ())
    file.delete (); 

try {
    FileOutputStream out = new FileOutputStream(file);
    Out.write(wfile)
    out.flush();
    out.close();
} catch (Exception e) {
     e.printStackTrace();
}

1 个答案:

答案 0 :(得分:0)

请尝试以下操作。您可以根据需要添加验证以检查文件是否存在。

        File file =  new 
File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS), "readme.txt");
        FileOutputStream out = new FileOutputStream(file);
        out.write(wfile);
        out.flush();
        out.close();
        MediaScannerConnection.scanFile(mContext, new String[] { file.toString() }, null,new MediaScannerConnection.OnScanCompletedListener() {
            public void onScanCompleted(String path, Uri uri) {
                Log.i("ExternalStorage", "Scanned " + path + ":");
                Log.i("ExternalStorage", "-> uri=" + uri);
            }
       });

仅供参考,Environment.DIRECTORY_DOCUMENTS在较早的android版本中可能不存在。然后,您可能必须添加验证以进行检查并创建目录(如果没有)。