java - Android Studio 无法读取文件,该文件不存在

标签 java android android-studio java-io

我正在尝试在小型 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/

相关文章:

java - Swagger 的 Jersey REST API 不起作用

java - Android getContentResolver() 未定义用于获取 AndroidID

android - Lint 字段从未分配给 Butterknife

android - 如何在android studio中垂直对齐不同的元素?

java - LibreOffice : 'com.mysql.jdbc.driver' cannot be loaded

java - 简单 ViewPager - 单一布局

java - List.indexOf() 和我类(class)的自定义 equals() 返回 -1

android - Cordova 应用程序 : does webassembly supported on Android?

android - 动态壁纸中的动态文本

java - 使用ArrayList填充TextView