TextDetectionUtil.java 3.55 KB
package com.cnlive.shenhe.utils;

import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;

import java.io.*;

/**
 * @Author: yan-zhao-wang
 * @DateTime: 2022-06-27 10:30
 */
@Slf4j
public class TextDetectionUtil {
    /**
     * 文本内容送审方法
     *
     * @param args
     */
    public static void main(String[] args) {
        // 输入文件地址
        String fileReaderUrl = "C:\\Users\\Administrator\\Desktop\\待检测数据.txt";
        // 输出文件地址
        String fileWriterUrl = "C:\\Users\\Administrator\\Desktop\\通过数据.txt";
        // 调用输入流方法
        BufferedReader bufferedReader = fileReaderUrl(fileReaderUrl);
        // 调用输出流方法
        BufferedWriter bufferedWriter = fileWriterUrl(fileWriterUrl);
        try {
            fileReaderWriter(bufferedReader, bufferedWriter);
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            // 如果输入流不为空
            if (bufferedReader != null) {
                try {
                    // 关闭输入流
                    bufferedReader.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            // 如果输出流不为空
            if (bufferedWriter != null) {
                try {
                    // 关闭输出流
                    bufferedWriter.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }

    /**
     * 创建文件输入流
     *
     * @param fileReaderUrl
     * @return
     */
    public static BufferedReader fileReaderUrl(String fileReaderUrl) {
        BufferedReader bufferedReader = null;
        try {
            bufferedReader = new BufferedReader(new FileReader(new File(fileReaderUrl)));
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        return bufferedReader;
    }

    /**
     * 创建文件输出流
     *
     * @param fileWriterUrl
     * @return
     */
    public static BufferedWriter fileWriterUrl(String fileWriterUrl) {
        BufferedWriter bufferedWriter = null;
        try {
            bufferedWriter = new BufferedWriter(new FileWriter(new File(fileWriterUrl)));
        } catch (IOException e) {
            e.printStackTrace();
        }
        return bufferedWriter;
    }

    /**
     * 内容读取执行过程
     *
     * @param bufferedReader
     * @param bufferedWriter
     * @throws IOException
     */
    public static void fileReaderWriter(BufferedReader bufferedReader, BufferedWriter bufferedWriter) throws IOException {
        boolean flag = true;
        while (flag) {
            String textContent = bufferedReader.readLine();
            if (flag = textContent != null) {
                // 文本内容送审
                JSONObject textFilter = YiDunAntiFraudUtil.getTextFilter(textContent);
                // 送审返回结果类型
                String type = textFilter.getString("type");
                // 送审返回结果内容
                String desc = textFilter.getString("desc");
                // 如果是通过的内容 输出到文件中
                if ("PASS".equals(type)) {
                    // 输出(写)的操作
                    bufferedWriter.write(textContent);
                    // 换行操作
                    bufferedWriter.newLine();
                }
                log.info("type:{}" + type);
                log.info("desc:{}" + desc);
            }
        }
    }
}