将字符串数据按照指定的编码写入到文本文件中

来源:互联网 发布:vb用户管理系统 编辑:程序博客网 时间:2024/05/21 11:20

【注意】已经明确了指定的编码表动作。就不能使用FileWriter,因为FileWriter内部是默认的本地编码表。
只能使用其父类。OutputStreamWriter,
OutoutStreamWriter 接收一个字节输出流对象,既然是操作问件,那么该对象应该是FileOutputStream.
**OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(“gbk_2.txt”));
FileWriter fw = new FileWriter(“jbk.txt”);
//这两句的代码的功能是等同的
//FileWriter:其实就是转换流指定了本机默认码表的体现,而且
//这个转换流的子类对象,可以方便操作文本文件
//简单说:操作问件的字节流+本机默认的码表
//这是按照默认码表来操作问件的便捷类
//如果操作文本文件需要明确具体的编码。FileWriter就不行了。
//必须使用转换流**
具体代码实现:

     void writeText_3() throws IOException {        OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("U_8.txt"),"UTF-8");        osw.write("你好");        osw.close();    }    void readText_3() throws IOException{        InputStreamReader isr = new InputStreamReader(new FileInputStream("U_8.txt"),"UTF-8");        char[] buf=new char[10];        int len=isr.read(buf);        String str=new String(buf,0,len);        System.out.println(str);        isr.close();    }

如果考虑效率问题加入缓冲区即可:
BufferedWriter bufw=new BufferedWriter(new OutputStream(“a.txt”)charSetName);

原创粉丝点击