2

JSONObjectファイルに保存したかったのです。目的のために、オブジェクトを文字列に変換してからファイルに保存しました。私が使用したコードは次のとおりです。

String card_string =  card_object.toString();
//card_object is the JSONObject that I want to store.

f = new File("/sdcard/myfolder/card3.Xcard");
//file 'f' is the file to which I want to store it.

FileWriter  fw = new FileWriter(f);
fw.write(card_string);
fw.close();

コードは私が望むように機能します。次に、そのオブジェクトをファイルから取得したいと思います。どうすればいいですか?ファイルの読み取りに何を使用すればよいか混乱していますか? InputStreamまたはFileReader何かBufferedReader。_ 私はJAVA / Android開発が初めてです。

助けてください。さまざまなシナリオ (このような) で使用される I/O 関数に関する簡単な言葉での詳細な説明を歓迎します。私はドキュメントを見てきましたが、あなたの提案は大歓迎です。

4

3 に答える 3

5

このコードを使用してファイルを読み取ることができます。

BufferedReader input = null;
try {
    input = new BufferedReader(new InputStreamReader(
            openFileInput("jsonfile")));
    String line;
    StringBuffer content = new StringBuffer();
    char[] buffer = new char[1024];
    int num;
    while ((num = input.read(buffer)) > 0) {
        content.append(buffer, 0, num);
    }
        JSONObject jsonObject = new JSONObject(content.toString());

}catch (IOException e) {...}

次に、jsonObject を使用できます。

JSON オブジェクトから特定の文字列を取得するには

String name = jsonObject.getString("name"); 

特定の int を取得するには

int id = jsonObject.getInt("id"); 

特定の配列を取得するには

JSONArray jArray = jsonObject.getJSONArray("listMessages"); 

配列からアイテムを取得するには

JSONObject msg = jArray.getJSONObject(1);
int id_message = msg.getInt("id_message");
于 2013-05-10T10:59:22.897 に答える
2
File contentfile = new File(filePath);
@SuppressWarnings("resource")
FileInputStream readJsonTextfile = new FileInputStream(contentfile);

Reader ContetnUrlJson = new InputStreamReader(readJsonTextfile);
于 2013-05-10T10:57:51.047 に答える