在 Android Studio 项目中将 .json 文件存储在哪里,以便我可以使用 FileReader 读取它?
Where to store .json file in Android Studio project so i could read it with FileReader?
我使用 Libgdx 在 Android Studio 上创建了一个应用程序,它可以读取存储在项目文件夹中的 .json 文件
事情是这样的
private void readFile() {
JsonParser jsonParser = new JsonParser();
try (FileReader reader = new FileReader("file.json"))
{
//reads file
} catch (IOException | ParserException e) {
e.printStackTrace();
}
}
一切都在桌面应用程序上运行,但是当我 运行 它在 android 应用程序上时,它当然不存在并且不会加载。我找不到关于它必须存储在哪里的任何信息。 FileReader 只让我输入一个字符串,但不让我输入文件所在的位置。
FileReader 是一个错误的选择还是可以更改它查找的位置?
您需要将 json 文件存储在资产文件夹中。并使用下面的代码从资产文件中读取您的 .json。
JSONObject obj = new JSONObject(readJSONFromAsset());
public String readJSONFromAsset() {
String json = null;
try {
InputStream is = getAssets().open("yourFile.json");
int size = is.available();
byte[] buffer = new byte[size];
is.read(buffer);
is.close();
json = new String(buffer, "UTF-8");
} catch (IOException ex) {
ex.printStackTrace();
return null;
}
return json;
}
我使用 Libgdx 在 Android Studio 上创建了一个应用程序,它可以读取存储在项目文件夹中的 .json 文件
事情是这样的
private void readFile() {
JsonParser jsonParser = new JsonParser();
try (FileReader reader = new FileReader("file.json"))
{
//reads file
} catch (IOException | ParserException e) {
e.printStackTrace();
}
}
一切都在桌面应用程序上运行,但是当我 运行 它在 android 应用程序上时,它当然不存在并且不会加载。我找不到关于它必须存储在哪里的任何信息。 FileReader 只让我输入一个字符串,但不让我输入文件所在的位置。
FileReader 是一个错误的选择还是可以更改它查找的位置?
您需要将 json 文件存储在资产文件夹中。并使用下面的代码从资产文件中读取您的 .json。
JSONObject obj = new JSONObject(readJSONFromAsset());
public String readJSONFromAsset() {
String json = null;
try {
InputStream is = getAssets().open("yourFile.json");
int size = is.available();
byte[] buffer = new byte[size];
is.read(buffer);
is.close();
json = new String(buffer, "UTF-8");
} catch (IOException ex) {
ex.printStackTrace();
return null;
}
return json;
}