我有 Json 文件(test.txt),我想从该文件获取数据到 Android 应用程序。我的代码是:
private static String url = "file:///AndroidJSONParsingActivity/res/raw/test.txt";
但它不起作用。我得到的错误是:
error opening trace file: No such file or directory (2)
来人帮帮我?谢谢!
将test.txt
文件放入assets文件夹
public class Utility {
public static String readXMLinString(String fileName, Context c) {
try {
InputStream is = c.getAssets().open(fileName);
int size = is.available();
byte[] buffer = new byte[size];
is.read(buffer);
is.close();
String text = new String(buffer);
return text;
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
然后您可以test.txt
使用以下代码
JSONObject json = new JSONObject(Utility.readXMLinString("test.txt",getApplicationContext()));
你有一个在 Android 应用资源中使用 JSON 文件的答案
你需要把文件介绍原始文件夹,你可以访问这个:
getResources().openRawResource(resourceName)
用于getResources().openRawResource(RawResource_id)
从 res/raw 文件夹中读取文本文件:
InputStream inputStream = Current_Activity.this.
getResources().openRawResource(R.raw.test);
//put your code for reading json from text file(inputStream) here
使用以下代码打开存储在原始文件夹中的文件的输入流:
getResources().openRawResource(R.raw.text_file)
请参阅下面的代码,它将解决您的问题。
public void mReadJsonData() {
try {
InputStream is = getResources().openRawResource(R.raw.textfilename)
int size = is.available();
byte[] buffer = new byte[size];
is.read(buffer);
is.close();
String mResponse = new String(buffer);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}