未在SDCARD中创建文件

时间:2018-11-15 11:09:33

标签: android io

我正在使用这种方法,在SO中的许多问题中都可以找到

public void generateNoteOnSD(Context context, String sFileName, String sBody) {
    try {
        File root = new File(Environment.getExternalStorageDirectory()+File.separator+"folder", "AGL");
        if (!root.exists()) {
            root.mkdirs();
        }
        File gpxfile = new File(root, sFileName);
        FileWriter writer = new FileWriter(gpxfile);
        writer.append(sBody);
        writer.flush();
        writer.close();
        if(gpxfile.exists()){
            Toast.makeText(context, "OK", Toast.LENGTH_SHORT).show();
        }else{
            Toast.makeText(context, "KO", Toast.LENGTH_SHORT).show();
        }

        Almacen.setRutaFichero(gpxfile.getAbsolutePath());
    } catch (IOException e) {
        e.printStackTrace();
    }
}

我的AndroidManifest中有此文件

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

一切似乎都还可以,没有异常,在屏幕上显示了正确的Toast ...但是我转到了文件应该存放的文件夹...但不存在。而且我挠头,因为这种方法几次都行得通!我正在使用一个写日志和所有内容的库...并且包含日志的文件在那里...

有帮助吗?

1 个答案:

答案 0 :(得分:0)

如果显示“ OK”吐司,则表明文件已成功创建。那为什么看不到文件呢?

  1. 检查static_assert ( std::is_constructible<int, boost::optional<int>>::value , "msg" ); 方法是做什么的?
  2. 转到正确的文件位置,您的情况将是:

enter image description here

  1. 使用鼠标手动刷新文件夹