[置顶] java文件读写,文本与文件互换

public class TextConverUtil {


    private static final Logger       logger = LoggerFactory.getLogger(TextConverUtil.class);
    @Autowired
    private static IFileHandleService iFileHandleService;


    /**
     * 将文本转换成文件存储,返回文件路径url
     * 
     * @param text 文本字符串
     * @return String 返回文件路径url
     */
    public static String convertTextToFile(String text) throws IOException {
        OutputStream outputStream = null;
        OutputStreamWriter outputStreamWriter = null;
        BufferedWriter bufferedWriter = null;


        InputStream inputStream = null;


        UploadFileDo uploadFileDo = new UploadFileDo();
        try {


            File file = new File("D:\\work\\test.txt");
            if (!file.exists()) {
                file.delete();
            }
            outputStream = new FileOutputStream(file);
            outputStreamWriter = new OutputStreamWriter(outputStream, "UTF-8");
            bufferedWriter = new BufferedWriter(outputStreamWriter);
            char[] chars = text.toCharArray();
            for (char c : chars) {
                bufferedWriter.write(c);
            }
            bufferedWriter.close();


            inputStream = new FileInputStream(file);
            String fileName = file.getName();
            String timestamp = String.valueOf(System.currentTimeMillis());
            System.out.println(fileName);


            // uploadFileDo = iFileHandleService.uplaod(fileName, timestamp, inputStream);


        } catch (FileNotFoundException e) {
            logger.debug(e.getMessage());
        } catch (IOException e) {
            logger.debug(e.getMessage());
        } finally {


            try {


                // 关闭输出流,写入流
                outputStream.close();
                outputStreamWriter.close();
                bufferedWriter.close();
            } catch (IOException e) {
                logger.debug(e.getMessage());
            }


        }


        return uploadFileDo.getUrl();
    }


    public static void main(String[] args) {
        try {
            convertTextToFile(" 新华网北京10月14日电(记者刘华)中共中央总书记、国家主席习近平14日在人民大会堂会见来华出席中韩政党政策对话首次会议的韩国新国家党党首金武星。习近平强调,今年7月我对韩国进行了国事访问,同朴槿惠总统就充实和深化中韩战略合作伙伴关系达成一系列重要共识。中方愿同韩方共享发展机遇,共同应对挑战,全面深化合作,为实现两国繁荣发展、促进地区和平稳定不懈努力。请你转达我对朴槿惠总统的诚挚问候和良好祝愿,我期待在亚太经合组织领导人非正式会议期间同她会晤。习近平指出,中国共产党与韩国新国家党的交流与合作对促进两国关系发挥着重要作用。双方应该进一步加强高层交往、深化治国理政经验交流、推进青年政治家友好往来,为构筑更加成熟、更高水平的中韩战略合作伙伴关系作出积极贡献。金武星转达了朴槿惠总统对习近平总书记的问候。他表示,自建交以来,特别是在两国元首的亲自引领和推动下,韩中关系获得举世瞩目的发展。韩国新国家党愿通过政党对话同中方加强沟通,分享经验,推动两国关系不断深化,也衷心祝愿中国早日实现伟大的中国梦。全国政协副主席、中联部部长王家瑞参加会见。");
            System.out.println(convertFileToText("D:\\work\\test.txt"));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }


    /**
     * 将文件转换成文本字符串,返回文本字符串
     * 
     * @param filePath 文件路径url
     * @return String 文本字符串
     */
    public static String convertFileToText(String filePath) {


        File file = new File(filePath);


        String fileContent = "";
        InputStreamReader inputStreamReader = null;
        BufferedReader bufferedReader = null;
        try {


            if (file.isFile() && file.exists()) {
                inputStreamReader = new InputStreamReader(new FileInputStream(file), "UTF-8");
                bufferedReader = new BufferedReader(inputStreamReader);
                String line;
                while ((line = bufferedReader.readLine()) != null) {
                    fileContent += line;
                }
                bufferedReader.close();
            }


        } catch (FileNotFoundException e) {
            logger.debug(e.getMessage());
        } catch (IOException e) {
            logger.debug(e.getMessage());
        } finally {


            try {
                // 关闭输入流,写入流
                inputStreamReader.close();
                bufferedReader.close();
            } catch (IOException e) {
                logger.debug(e.getMessage());
            }


        }
        return fileContent;
    }


    private static InputStream getStringStream(String inputString) {
        if (StringUtil.isNotBlank(inputString)) {
            try {
                ByteArrayInputStream tInputStringStream = new ByteArrayInputStream(inputString.getBytes());
                return tInputStringStream;
            } catch (Exception e) {
                logger.debug(e.getMessage());
            }
        }
        return null;
    }


}

你可能感兴趣的:(java)