在内部存储中创建新文件异常:java.io.IOException:打开失败:ENOENT(没有这样的文件或目录)

3

我想在安卓设备的内部存储中创建新文件,但是我遇到了“没有这样的文件或目录”的异常。

这是我的代码:

String APP_PATH_SD_CARD = "/XYZ/";
String APP_THUMBNAIL_PATH_SD_CARD = "Demodir";
String fullPath = Environment.getExternalStorageDirectory().getAbsolutePath() + APP_PATH_SD_CARD + APP_THUMBNAIL_PATH_SD_CARD;
File myFile,dir;

try {
        dir = new File(fullPath);
        if (!dir.exists()) {
            dir.mkdir();
        }
        myFile = new File(fullPath, "Vitals.txt");
        if (myFile.exists()) {
            myFile.delete();
            myFile.createNewFile();
        } else {
            myFile.createNewFile();
        }

        Toast.makeText(getBaseContext(),"File 'Vitals.txt' Created",Toast.LENGTH_SHORT).show();
    } catch (Exception e) {
        Toast.makeText(getBaseContext(), e.getMessage(),Toast.LENGTH_SHORT).show();
    }

AndroidManifest.xml

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

你正在测试哪个 Android 版本? - peeyush pathak
1个回答

1

为了获得更好的性能,不要使用斜杠'\''/',而是使用File.separator

例如:

String APP_PATH_SD_CARD = "XYZ";
String APP_THUMBNAIL_PATH_SD_CARD = "Demodir";

String fullPath = Environment.getExternalStorageDirectory().getAbsolutePath() 
+ File.seprator+APP_PATH_SD_CARD+File.seprator+APP_THUMBNAIL_PATH_SD_CARD;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接