Gson ストリーミング API を使用して、シーケンシャル読み取りおよび書き込み標準に基づいたファイルの読み取りおよび書き込みを行うことができます。 JsonWriter と JsonReader は、Streaming API でのストリーミングの書き込みと読み取りのために構築されたコア クラスです。 JsonWriterJSON エンコードされた値を一度に 1 トークンずつストリームに書き込みます。ストリームには、リテラル値 ( 文字列、数値、ブール値、null) のほか、Start および End 区切り文字 オブジェクトが含まれています。配列、JsonReaderJSON エンコードされた値をトークン ストリームとして読み取ります。このストリームには、 リテラル 値 ( 文字列、数値、ブール値、null) および start が含まれます。 終了区切り文字。トークンは、JSON ドキュメント内に出現するのと同じ順序で、 深さ優先順 r, で走査されます。
import java.io.*; import com.google.gson.stream.*; public class JsonWriterTest { public static void main(String args[]) { JsonWriter writer; try { writer = new JsonWriter(new FileWriter("input.json")); writer.beginObject(); writer.name("name").value("Adithya"); writer.name("age").value(25); writer.name("technologies"); writer.beginArray(); writer.value("Java"); writer.value("Scala"); writer.value("Python"); writer.endArray(); writer.endObject(); writer.close(); System.out.println("Data write to a file successfully"); } catch(Exception e) { e.printStackTrace(); } } }
Data write to a file successfully<strong> </strong>
#JsonReader を使用したファイルの読み取り
import java.io.*; import com.google.gson.stream.*; public class JsonReaderTest { public static void main(String args[]) { JsonReader reader; try { reader = new JsonReader(new FileReader("input.json")); reader.beginObject(); while(reader.hasNext()) { String name = reader.nextName(); if(name.equals("name")) { System.out.println(reader.nextString()); } else if(name.equals("age")) { System.out.println(reader.nextInt()); } else if(name.equals("technologies")) { reader.beginArray(); while(reader.hasNext()) { System.out.println(reader.nextString()); } reader.endArray(); } else { reader.skipValue(); } } reader.endObject(); reader.close(); } catch(Exception e) { e.printStackTrace(); } } }
Adithya 25 Java Scala Python
以上がGson ストリーミング API を使用して Java でファイルを読み書きするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。