我正在尝试在小型 Java 应用程序中读取 Android Studio 中的文件。所以我正在尝试这个:
File test = new File("C:\\testing\\testFile.dat");
if (test.exists()) {
System.out.println("test exists");
}
else {
System.out.println("test doesn't exist");
}
该文件确实存在,但它一直报告该文件不存在。我可以使用 AssetManager
并通过流读取另一个文件来解决此问题,但我现在调用的方法需要 File
的绝对路径,但它直接拒绝找到该文件。
我是在做一些愚蠢的事情,还是误解了什么?
更新 好的,谢谢您的意见,我现在已经解决了问题。首先,我必须将我想要的文件上传到虚拟设备的存储中,然后我才能获取它的路径。
File test = new File(this.getFilesDir().getAbsolutePath(), "testFile.dat");
最佳答案
but the method I'm calling now requires a File's absolute path
Assets 是开发计算机上的文件。它们不是设备上的文件。
理想情况下,您可以切换到一些支持InputStream
或类似选项的库,而不需要文件系统路径。如果这不是一个选项,您始终可以从 AssetManager
获取 InputStream
并使用它来复制您控制的某个文件中的数据(例如,在 getCacheDir()
)。然后您可以将该文件的路径传递给此方法。
关于java - Android Studio 无法读取文件,该文件不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59227530/