一、读取txt文件内容(Json格式数据):
public static String reader(String filePath) {
try {
File file = new File(filePath);
if (file.isFile() && file.exists()) {
InputStreamReader read = new InputStreamReader(new FileInputStream(file), "UTF-8");
BufferedReader bufferedReader = new BufferedReader(read);
String lineTxt = bufferedReader.readLine();
while (lineTxt != null) {
return lineTxt;
}
}
} catch (UnsupportedEncodingException | FileNotFoundException e) {
System.out.println("Cannot find the file specified!");
e.printStackTrace();
} catch (IOException e) {
System.out.println("Error reading file content!");
e.printStackTrace();
}
return null;
}
二、解析处理Json格式数据:
private static void process(String txtStr) {
JSONObject json = JSONObject.fromObject(txtStr);
JSONArray datas = json.getJSONObject("data").getJSONArray("rows");
List<Map<String, Object>> list = new ArrayList<>();
for (int i = 0; i < datas.length(); i++) {
Map<String, Object> map = new HashMap<>();
JSONObject obj = datas.getJSONObject(i).getJSONObject("cells");
String name = obj.getString("weibo_name");
String code = obj.getString("weibo_id");
String url = BASE_URL + obj.getString("url");
map.put("name", name);
map.put("code", code);
map.put("url", url);
list.add(map);
}
if (!list.isEmpty()) {
insert(list);
}
}
三、结果存入数据库:
private static void insert(List<Map<String, Object>> list) {
for (Map<String, Object> map : list) {
//遍历数据,写存储方法
}
}
四、测试:
public static void main(String[] args) {
String filePath = "E:\\wugang\\data\\weiboyi\\wechat.txt";
String txtStr = reader(filePath);
if (txtStr != null) {
process(txtStr);
} else {
System.out.println("Read the content is empty!");
}
System.out.println("--- end ---");
}