java读取文件内容,解析Json格式数据

来源:互联网 发布:python api文档 编辑:程序博客网 时间:2024/04/28 18:57

一、读取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 ---");    }
0 0