黑马程序员技术交流社区

标题: 关于IO流中转换流的问题??? [打印本页]

作者: awkflf11    时间: 2014-3-25 18:08
标题: 关于IO流中转换流的问题???
本帖最后由 awkflf11 于 2014-3-25 18:14 编辑



        public static void writeFile() throws IOException{
               
//                FileWriter fw = new FileWriter("temp\\default.txt");
//                fw.write("你好");
//                fw.close();
                                
                 FileOutputStream fos = new FileOutputStream("temp\\trans_default.txt");

//                OutputStreamWriter osw = new OutputStreamWriter(fos);               
//                osw.write("你好");               
//                osw.close();
               

                FileOutputStream fos = new FileOutputStream("temp\\trans_GBK.txt");
                OutputStreamWriter osw = new OutputStreamWriter(fos,"GBK");        
                osw.write("你好");               
              osw.close();
        }


这三种,,方式那个正确??如果在开发中,我们用那个那??
谢谢。。


作者: H-Deka    时间: 2014-3-25 18:30
第二和第三种都可以,利用字符流的缓冲区操作数据比较方便写!效率也高
作者: awkflf11    时间: 2014-3-25 18:31
H-Deka 发表于 2014-3-25 18:30
第二和第三种都可以,利用字符流的缓冲区操作数据比较方便写!效率也高

第一种是不是可以那????
作者: 王峰峰    时间: 2014-3-25 18:31
一、首先明白以下几个类
       1、 FileWriter:用来写入字符文件的便捷类,它继承OutputStreamWriter类。
       2、OutputStreamWriter: 是字符流通向字节流的桥梁,其构造方法可以接收字符流。
二、程序执行流程
       调用自定义方法writeFile() ,给default.txt文件中写入“你好”;给trans_default.txt也写入你好。
作者: H-Deka    时间: 2014-3-25 18:35
awkflf11 发表于 2014-3-25 18:31
第一种是不是可以那????

也可以,写入数据后要刷新一下,flush()方法,按效率后两种好点




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2