首页 java实战 java代码 生成 读取 文本文件txt 写入中文测试(可运行)

java代码 生成 读取 文本文件txt 写入中文测试(可运行)

中文测试没问题 可以生成 可以读取   代码如下 package com.sec.file; import j…

中文测试没问题

可以生成

可以读取

 

代码如下

package com.sec.file;

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileWriter;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.StringReader;

import java.io.StringWriter;



import org.apache.commons.logging.Log;

import org.apache.commons.logging.LogFactory;



public class TxtFile {

    private final static Log logger = LogFactory.getLog(TxtFile.class);

    BufferedReader bufferedReader;

    BufferedWriter bufferedWriter;

    InputStreamReader reader;



    /**

     * 生成数据文件

     *

     * @param filePath 写入文件的路径

     * @param content 写入的字符串内容

     * @return

     */

    public boolean string2File(String content, String filePath) {

        boolean flag = true;

        try {

            File file = new File(filePath);

            if (!file.exists()) {

                file.createNewFile();

            }

            bufferedReader = new BufferedReader(new StringReader(content));

            bufferedWriter = new BufferedWriter(new FileWriter(file));

            char buffer[] = new char[1024];

            int len;

            while ((len = bufferedReader.read(buffer)) != -1) {

                bufferedWriter.write(buffer, 0, len);

            }

            bufferedWriter.flush();

            bufferedReader.close();

            bufferedWriter.close();

        } catch (IOException e) {

            logger.error(e);

            flag = false;

            return flag;

        } finally {

            if (bufferedReader != null) {

                try {

                    bufferedReader.close();

                } catch (IOException e) {

                    logger.error(e);

                }

            }

        }

        return flag;

    }

    /**

     * 读取数据文件

     * @param filePath 读取的文件路径

     * @param encoding 读取后的字符串编码集设置

     * @return

     */

    public String file2String(String filePath, String encoding) {

        StringWriter writer = new StringWriter();

        File file = new File(filePath);

        try {

            if (encoding == null || "".equals(encoding.trim())) {

                reader = new InputStreamReader(new FileInputStream(file));

            } else {

                reader = new InputStreamReader(new FileInputStream(file), encoding);

            }

            // 将输入流写入输出流

            char[] buffer = new char[1024];

            int n = 0;

            while (-1 != (n = reader.read(buffer))) {

                writer.write(buffer, 0, n);

            }

        } catch (Exception e) {

            logger.error(e);

            return null;

        } finally {

            if (reader != null)

                try {

                    reader.close();

                } catch (IOException e) {

                    logger.error(e);

                }

        }

        // 返回转换结果

        if (writer != null) {

            return writer.toString();

        } else {

            return null;

        }

    }



    public static void main(String[] args) {

        new TxtFile().string2File("测试文件写入中文,TEST STRING TO FILE", "F:/c.txt");

        System.out.println(new TxtFile().file2String("F:/c.txt", null));

        System.out.println(new TxtFile().file2String("F:/c.txt", "GBK"));

    }

}

 

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

为您推荐

mysql 统计日期 今天,昨天,上个月,这个月 ,一年

mysql 统计日期 今天,昨天,上个月,这个月 ,一年

查询5分钟前的数据 select * from table where end_date between date_ad...
Illegal key size or default parameters

Illegal key size or default parameters

简介: java中使用AES对称加密后,请求报错: Caused by: java.lang.RuntimeExcept...
nginx跨域问题

nginx跨域问题

add_header Access-Control-Allow-Origin *; add_header Access-...
Ajax请求发送成功但不进success的解决方法

Ajax请求发送成功但不进success的解决方法

dataType:’Text’ 格式严格按照服务端返回的数据来
【java】post请求参数全大写后台接不到参数

【java】post请求参数全大写后台接不到参数

测试验证的时候发现,接收不到请求参数   驼峰正常 springMVC使用的是Jackson来解析json格式的请求报文...
返回顶部