gpt4 book ai didi

java - onCreate() 方法中的 FileNotFoundException

转载 作者:行者123 更新时间:2023-12-02 10:26:08 26 4
gpt4 key购买 nike

我不断收到 FileNotFoundException尝试将我的文件加载到 JSONReader 时出错使用InputStream在我的onCreate内方法。

我已经在一个简单的 Java 程序中测试了这段代码,它似乎工作正常并且也读取 JSON 文件。但是,在 Android Studio 中我不断收到 FileNotFoundException

我是否错误地引用了文件的位置?

这是我的代码:

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);

List<String> linksList = new ArrayList<>();

try {
JsonReader reader = null;
reader = new JsonReader(new FileReader("/assets/test.json"));
reader.beginArray();

while (reader.hasNext()) {

String value = reader.nextString();
linksList.add(value);
}

reader.endArray();
reader.close();
} catch (FileNotFoundException fnfe) {

fnfe.printStackTrace();

} catch (IOException ioe) {

ioe.printStackTrace();
}
}

这是日志 -

12-27 11:56:11.342 20703-20703/com.adam.jsonreader W/System.err: java.io.FileNotFoundException: /assets/test.json (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:146)
at java.io.FileInputStream.<init>(FileInputStream.java:99)
12-27 11:56:11.343 20703-20703/com.adam.jsonreader W/System.err: at java.io.FileReader.<init>(FileReader.java:58)
at com.adamkhora.jsonreader.HomeActivity.onCreate(HomeActivity.java:43)

这是我的项目结构:

project_structure

最佳答案

而不是new FileReader("/assets/test.json")

使用

new BufferedReader(new InputStreamReader(getAssets().open("test.json"), StandardCharsets.UTF_8)); 

您需要使用getAssets()方法来使用android中的资源。

关于java - onCreate() 方法中的 FileNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53945055/

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