Gson 스트리밍 API 를 사용하여 파일을 읽고 쓸 수 있습니다. 순차 읽기 및 쓰기 표준을 기반으로 합니다. JsonWriter 및 JsonReader Streaming API에서 스트리밍 쓰기 및 읽기를 위해 구축된 핵심 클래스입니다. . JsonWriter JSON 인코딩 값을 한 번에 하나의 토큰으로 스트림에 씁니다. 스트림에는 리터럴 값(문자열, 숫자, 부울 및 null)이 모두 포함됩니다. ) 및 시작 및 종료 구분자 개체 및 배열 및 JsonReader JSON 인코딩 값을 토큰 스트림으로 읽습니다. 이 스트림에는 리터럴 가치 (들 문자열, 숫자, 부울 및 null) 뿐만 아니라 시작 및 끝 구분 기호 개체 및 배열의. 토큰은 깊이 우선 순위로 순회됩니다. r, JSON 문서에 나타나는 것과 동일한 순서입니다.
JsonWriter를 사용하여 파일에 쓰기
예시
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
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