Use la herramienta de conversión JSON de terceros, la herramienta de conversión de Alibaba JSON FastJSON1.2.7.
//www.vevb.com/softs/530842.html
Nota: No repetiré la importación de paquetes JAR, consulte Baidu para obtener más detalles.
Clase de usuario, definir dos propiedades y crear constructores, obtener y establecer métodos
Usuario de clase pública {nombre de usuario de cadena pública; // Nombre público doble saldo; // cantidad public pública user () {super ();} Usuario público (String UserName, Double Balance) {super (); this.Username = UserName; this.balance = balance;} public String getUsername () {return username;} public void setUsername (String username) {this.Username = username;} public doble getBalance () {return Balance;} public void setBalance (doble balance) {this.balance = balance;}}Transmisión de bytes para almacenar datos JSON en archivo txt
import java.io.bufferedInputStream; import java.io.bufferedOutputStream; import java.io.file; import java.io.fileInputStream; import java.io.fileOutputStream; import java.util.arraylist; import java.util.list; import.alibaba.fastjson.json; void main (string [] args) {list <serem> list = new ArrayList <> (); list.add (nuevo usuario ("Zhang San", 100)); list.add (nuevo usuario ("zhang si", 200)); list.add (nuevo usuario ("zhang wu", 300)); archivo de archivo = nuevo archivo ("d: /uselist"); // archivo de objeto almacenado fileOutputStream fos = null; bufferedOutputStream bos = null; try {fos = new FileOutputStream (archivo); bos = new BufferedOutputStream (FOS); String JSON = JSON.TOJSONSTRING (LIST); // convertir el objeto a jsonbos.write (json.getbytes ("utf-8")); // JSON String escribe en archivos bos.flush (); System.out.println ("Json Data Data Writing completado");} Catch (excepción e) {E.PrintStackTRace ();} finalmente {try {fos.Close (); bos.close ();} capt (excepción e) {e.preintStacktrace ();}} // leer el contenido de archivo y emerger str = "; fis = null; bufferedInputStream bis = null; byte buff [] = new byte [1024]; try {fis = new FileInputStream (file); bis = new BufferedInputStream (Fis); while ((num = bis.read (buff))! =-1) {str+= new string (buff, "utf-8");} system.out.Println (str) (strintln (str); // Imprima la cadena JSON que lee el archivo} Catch (Exception e) {E.PrintStackTrace ();} Finalmente {try {fis.close (); bis.close ();} capt (excepción e) {e.printstackTraace ();} // convierte los datos de lectura en un objeto y la lista de salida = json.parsearray ((), usuarios); // Los datos de lectura de JSON tienen espacios, y el método TRIM se elimina para (user obj: list) {system.out.println (obj.getUsername ()+"/t"+obj.getBalance ());}}}}Almacenar datos de JSON a archivo txt en una secuencia de caracteres
import java.io.bufferedReader; import java.io.bufferedwriter; import java.io.file; import java.io.filereader; import java.io.filewriter; import java.util.arrayList; import java.util.list; import com.alibaba.faster.json; public class ListFile { args) {list <serer> list = new ArrayList <> (); list.add (nuevo usuario ("zhang san", 100)); list.add (nuevo usuario ("zhang si", 200); list.add (nuevo usuario ("zhang wu", 300)); archivo de archivo = nuevo archivo ("d: /useList.txt"); // Archivo de objeto almacenado FileWriter fw = null; BufferedWriter bw = null; try {fw = new FileWriter (archivo); bw = new BufferedWriter (FW); String json = json.tojsonstring (list); // Convertir objeto a jsonbw.write (JSON); // JSON String Escribir archivo bw.flush (); System.out.println ("JSON Data Writing Completed");} Catch (Exception e) {E.PrintStackTRace ();} Finalmente {try {bw.close (); fw.close ();; br = null; try {fr = new FileReader (archivo); br = new BufferedReader (FR); while ((s = br.readline ())! = null) {str+= s;} system.out.println (str); // Imprima la cadena JSON que lee el archivo} Catch (Exception e) {E.PrintStackTrace ();} Finalmente {try {br.close (); fr.close ();} catch (excepción e) {e.printstacktrace ();} // Convertir los datos de lectura JSON en un objeto y emitir list = json.parsearray (str.trim (), usuarios); para (usuario obj: list) {System.out.println (obj.getusername ()+"/t"+obj.getBalance ());}}}}Resultados de ejecución:
La redacción de datos JSON completó [{"Balance": 100, "Nombre de usuario": "Zhang San"}, {"Balance": 200, "Nombre de usuario": "Zhang Si"}, {"Balance": 300, "UserName": "Zhang Wu"}] Zhang San 100.0 Zhang SI 200.0 Zhang Wu 300.0.0.0.0.0.0.0.0 "Pregunta: ¿Por qué necesita convertir el objeto a JSON y luego almacenarlo? ¿Por qué no almacenar objetos directamente en archivos? ¿Cuáles son los beneficios de usar JSON?
Pregunta 12: Si escribe el objeto directamente en un archivo, se producirá un código confuso y debe convertir la cadena JSON antes de almacenarlo.
Tres preguntas y respuestas: las ventajas de JSON son fáciles de transmitir, menos caracteres redundantes y son fáciles de convertir y leer.