我們可以使用Gson Streaming API讀寫文件,它基於順序讀寫標準。 JsonWriter和JsonReader是為Streaming API中的串流寫入和讀取而建構的核心類別。 JsonWriter將 JSON 編碼值寫入流,一次一個令牌。該流包含文字值(字串、數字、布林值和null)以及開始和結束分隔符號物件和數組, JsonReader將JSON 編碼值讀取為令牌流。此流包含文字值(字串、數字、布林值和空值)以及開始和結束分隔符號。標記依照深度優先順序r進行遍歷,與它們在 JSON 文件中出現的順序相同。
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>
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中文網其他相關文章!