gpt4 book ai didi

java - canRead() 和 canWrite() 都返回 false

转载 作者:行者123 更新时间:2023-12-01 16:56:53 33 4
gpt4 key购买 nike

我无法读取或写入文件。我正在使用以下内容来获取文件名。这对大多数人来说可能是显而易见的事情,但我的 Java 有点弱。

private String fileName(int itemNum) {
final String DIR_PREFIX = "/MyDailySelfiesDir";
final String FILENAME_PREFIX = "/MyDailySelfieFile_";
File dir_0 = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
String dirName = dir_0.getAbsolutePath() + DIR_PREFIX;
File dir = new File(dirName);
dir.mkdirs();
String name = dirName + FILENAME_PREFIX + itemNum + ".jpg";
File temp = new File(name);
Log.i(TAG, name + " can read? " + temp.canRead() + " can write? " + temp.canWrite());
return name;
}

AndroidManifest.xml 部分如下所示:

<uses-sdk
android:minSdkVersion="18"
android:targetSdkVersion="19" />
<uses-feature android:name="android.hardware.camera" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

我在 Android Studio 中模拟 Galaxy Nexus 5,API 18。

最佳答案

尝试检查 yourFile.exists() 的值。除非您没有发布所有代码,否则您实际上从未在设备上创建文件“temp” - 您只创建了一个文件对象。因此,如果 File 对象没有映射到 Android 文件系统中的真实文件,则无法读取或写入该对象。您可以使用 File.createNewFile() 创建文件。

关于java - canRead() 和 canWrite() 都返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31515784/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com