2016-11-08 17 views
0

これより大きくなると、内部記憶装置からjsonファイルの内容をどのように出力することができるかを知りたがっています。以下は、現在それを動作させているものです。 /data/names.jsonJSONファイルの内容を内部記憶装置から読み取る

names.json

[ 
    "names", 
    { 
    "name": "John Doe" 
    } 
] 
+1

これを試してください:http://stackoverflow.com/questions/28646757/write-and-read-a-json-data-to-internal-storage-android –

答えて

0

ファイルから読み込み、文字列とJsonObjectまたはJsonArray

String jsongString = readFromFile(); 
JSONArray jarray = new JSONArray(str); 

に変換し、内部ストレージファイルからデータを読み込み、Stringとして返すための方法の下に使用します。

private String readFromFile() { 

    String ret = ""; 

    try { 
     InputStream inputStream = openFileInput("names.json"); 

     if (inputStream != null) { 
      InputStreamReader inputStreamReader = new InputStreamReader(inputStream); 
      BufferedReader bufferedReader = new BufferedReader(inputStreamReader); 
      String receiveString = ""; 
      StringBuilder stringBuilder = new StringBuilder(); 

      while ((receiveString = bufferedReader.readLine()) != null) { 
       stringBuilder.append(receiveString); 
      } 

      inputStream.close(); 
      ret = stringBuilder.toString(); 
     } 
    } 
    catch (FileNotFoundException e) { 
     Log.e("login activity", "File not found: " + e.toString()); 
    } catch (IOException e) { 
     Log.e("login activity", "Can not read file: " + e.toString()); 
    } 

    return ret; 
} 
1

生/ generated.json

とあなたの活動へのアクセスに/ RESにあなたのJSONファイルを追加します。

String filename = "names.json"; 
final File file = new File(Environment.getDataDirectory(), filename); 
Log.d(TAG, String.valueOf(file)); 

ログとして示しこのようなjsonデータは

InputStream is = getResources().openRawResource(R.raw.generated); 
    Writer writer = new StringWriter(); 
    char[] buffer = new char[1024]; 
    try { 
     Reader reader = null; 
     try { 
      reader = new BufferedReader(new InputStreamReader(is, "UTF-8")); 
     } catch (UnsupportedEncodingException e) { 
      e.printStackTrace(); 
     } 
     int n; 
     try { 
      while ((n = reader.read(buffer)) != -1) { 
       writer.write(buffer, 0, n); 
      } 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } finally { 
     try { 
      is.close(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 

    String jsonString = writer.toString(); 
    Log.d("jsonString",jsonString); 
関連する問題