Use a ferramenta de conversão JSON de terceiros, a ferramenta de conversão do Alibaba JSON fastjson1.2.7.
//www.vevb.com/softs/530842.html
Nota: Não vou repetir a importação de pacotes JAR, consulte o Baidu para obter detalhes.
Classe do usuário, defina duas propriedades e crie construtores, obtenha e definir métodos
Public class Usuário {public String UserName; // Nome de equilíbrio público público; // valor public user () {super ();} usuário público (string userName, duplo balance) {super (); this.UserName = Nome de usuário; this.Balance = balance;} public string getUserName () {return userName;} public void setUserName (string username) {this.username = username;} public duplo getBalance () {retorna balance;} public void setBalance (duplo equilíbrio) {this.balance = balance;}}Streaming de byte para armazenar dados JSON para o arquivo txt
importar java.io.bufferEnputStream; importar java.io.bufferedOutputStream; importar java.io.file; importar java.io.fileInputStream; import java.io.fileoutputStream; import java.util.arraylist; import java.util.list; void main (string [] args) {list <suser> list = new ArrayList <> (); list.add (novo usuário ("zhang san", 100)); list.add (novo user ("zhang si", 200); list.add (novo usuário ("zhang wu wu", 300)); arquivo = arquivo = list ("d:" s); // Arquivo de objeto armazenado FileOutputStream fos = null; bufferoudOutputStream bos = null; try {fos = new FileOutputStream (file); bos = new BufferOutputStream (fos); string json = json.tojSonstring (list); // converte o objeto em jsonbos.write (json.getbytes ("utf-8")); // json string grava para arquivar bos.flush (); System.out.println ("JSON DATA RECRETA CONCLUÍDO");} CATCH (Exceção e) {E.PrintStackTrace ();} finalmente {try {fos.close (); bos.close ();} catch (exceção e) {e.printStacktrace ();}} // leia o arquivo string e o arquivo string e " fis = null; bufferInputStream bis = nulo; bod de byte [] = novo byte [1024]; try {fis = new FileInputStream (file); bis = new bufferInputStream (fis); // imprima a sequência JSON que lê o arquivo} Catch (Exceção e) {e.printStackTrace ();} finalmente {try {fis.close (); bis.close ();} catch (exceção e) {e.printStackTrace ();} // converte os dados de leitura em um objeto, e output List = json. // Os dados de leitura JSON possuem espaços e o método de acabamento remove para (Usuário obj: list) {System.out.println (obj.getUsername ()+"/t"+obj.getBalance ());}}}}Armazenando dados JSON no arquivo txt em um fluxo de caracteres
importar java.io.bufferedReader; importar java.io.bufferedwriter; importar java.io.file; importar java.io.fileReader; importar java.io.fileWriter; import java.util.ArrayList; import java.util.list; args) {list <suser> list = new ArrayList <> (); list.add (novo usuário ("Zhang San", 100)); list.add (novo usuário ("zhang si", 200)); list.add (novo usuário ("zhang wu", 300)); arquivo de arquivo = novo ("d://selist.t.t.t.t", 300); arquivo de arquivo = new ("d://selist. // Arquivo de arquivo de objeto armazenado fwwriter fw = null; bufferwriter bw = null; tente {fw = new FileWriter (file); bw = new bufferwriter (fw); string json = json.tojSonstring (list); // converte objeto em jsonbw.write (json); // json string write Arquivo bw.flush (); System.out.println ("JSON DATA RECUTADO CONCLUÍDO");} CATCH (Exceção e) {E.PrintStackTrace ();} finalmente {tente {bw.close (); fw.close ();} Catch (exceção e) {e.printStacktrace ();}} // leia o arquivo e o arquivo string; Br = null; tente {fr = new FileReader (arquivo); br = new BufferredReader (FR); while ((s = Br.readline ())! = null) {str+= s;} system.out.println (str); // imprima a sequência JSON que lê o arquivo} Catch (Exceção e) {e.printStackTrace ();} finalmente {try {Br.close (); fr.close ();} catch (exceção e) {e.printStacktrace ();} // convert os dados de leitura em um objeto e o objeto = json. para (Usuário obj: list) {System.out.println (obj.getUserName ()+"/t"+obj.getBalance ());}}}}Resultados em execução:
JSON DATA RECETA CONCLUÍDO [{"Balance": 100, "Nome de usuário": "Zhang San"}, {"Balance": 200, "UserName": "Zhang Si"}, {"Balance": 300, "Username": "Zhang Wu"}] Zhang San 100.0 Zhang Si 200.0 Zh.Pergunta: Por que você precisa converter o objeto para JSON e depois armazená -lo? Por que não armazenar objetos diretamente em arquivos? Quais são os benefícios de usar o JSON?
Pergunta 12: Se você escrever o objeto diretamente em um arquivo, ocorrerá um código ilegal e precisará converter a string json antes de armazená -lo.
Três perguntas e respostas: as vantagens do JSON são fáceis de transmitir, menos caracteres redundantes e são fáceis de converter e ler.