Android从json文件(.txt)获取数据

时间:2012-11-26 07:08:17

标签: android json string

我有Json文件(test.txt),我想从该文件获取数据到Android App。我的代码是:

private static String url = "file:///AndroidJSONParsingActivity/res/raw/test.txt";

但它不起作用。我得到的错误是:

error opening trace file: No such file or directory (2)

有人帮助我吗?谢谢!

5 个答案:

答案 0 :(得分:2)

将test.txt文件放入资源文件夹

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()));

答案 1 :(得分:1)

您有一个答案Using JSON File in Android App Resources

您需要将文件引入原始文件夹,您可以使用以下命令进行访问:

getResources().openRawResource(resourceName)

答案 2 :(得分:0)

使用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

答案 3 :(得分:0)

使用以下代码打开存储在原始文件夹中的文件的输入流:

getResources().openRawResource(R.raw.text_file)

答案 4 :(得分:0)

请参阅下面的代码,它将解决您的问题。

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();
    }
}