আমরা Gson স্ট্রিমিং API ব্যবহার করে ফাইল পড়তে এবং লিখতে পারি যা সিকোয়েনশিয়াল রিড এবং রাইট স্ট্যান্ডার্ডের ওপর ভিত্তি করে। JsonWriter এবং JsonReader হল স্ট্রিমিং API-তে স্ট্রিমিং রাইট এবং রিডের জন্য কোর ক্লাস। JsonWriter একটি JSON এনকোডেড ভ্যালুকে একটি স্ট্রিমে লেখে, একবারে একটি টোকেন। এই স্ট্রিমে বরাবর লিটারেল ভ্যালু (স্ট্রিং, সংখ্যা, বুলিয়ান এবং null) এবং অবজেক্ট ও অ্যারে-এর শুরু এবং শেষ ডিলিমিটার থাকে। JsonReader একটি JSON এনকোডেড ভ্যালুকে টোকেনের একটি স্ট্রিম হিসেবে পড়ে। এই স্ট্রিমে বরাবর লিটারেল ভ্যালু (স্ট্রিং, সংখ্যা, বুলিয়ান এবং null) এবং অবজেক্ট ও অ্যারে-এর শুরু এবং শেষ ডিলিমিটার থাকে। টোকেনগুলো ডেপথ-ফাস্ট অর্ডারে ট্রাভার্স করা হয়, একই অর্ডারে যা 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