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

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

你可能感兴趣的:(Java,文件操作)