package cn.evun.gehr.bees.blue.controller;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
import com.alibaba.fastjson.JSON;
import lombok.Data;
@Data
class ClassA {
public String userId;
public String content;
}
public class texttojson {
public static void main(String[] args) throws IOException {
InputStreamReader ins = new InputStreamReader(new FileInputStream("D:\\2.txt"));
BufferedReader br = new BufferedReader(ins);
//存放bean对象ileInputStream("C:\\zh-cn.txt"));
List<ClassA> tlist = new ArrayList<ClassA>();
//读取txt
String line = null;
List<String> list = new ArrayList<String>();
while((line = br.readLine()) != null) {
list.add(line);
}
br.close();
//txt的每一行相当于一条数据,split按空格作分隔符进行拆分。\\s+是正则表达式。
ClassA classA;
for (String str : list) {
classA = new ClassA();
classA.setUserId(str.substring(0,7));
classA.setContent(str.substring(8));
tlist.add(classA);
}
//JSON.toJSONString()方法:将对象数组(JSON格式的字符串也可以)转换成JSON数据。
String json = JSON.toJSONString(tlist);
//创建新文件
File txtToJson = new File("D:\\json2");
txtToJson.createNewFile();
BufferedWriter out = new BufferedWriter(new FileWriter(txtToJson));
out.write(json);
out.flush(); // 把缓存区内容压入文件
out.close(); // 最后记得关闭文件
System.out.println("ok");
}
}
解析txt文件,把数据封装到集合,然后根据分割符把集合中的数据对应上实体字段,然后导出json文件