搞什么手机终端……烦死人复杂问题搞简单了,简单问题却搞复杂了,浪费我时间……发泄一下……谁能给我讲一下快速入门文件流的方法,
outfile = new StreamWriter(filename, false, System.Text.Encoding.GetEncoding("GBK"));
这是C#的,还好,虽然也很罗嗦。outfile = new PrintWriter(new BufferedWriter(new OutputStreamWriter(new FileOutputStream(filename),"GBK")));
这是java的,我彻底无语,为了支持中文的同时又能用格式化写入函数,至于么,查了2小时获得的结果……有没有不这么啰嗦的方式?

解决方案 »

  1.   

    C语言和Windows API里写文件,你写进去什么的关键是你缓冲区里的内容,是什么写什么,不关你是用什么方式打开的文件。这下可好,java把我吓着了……
      

  2.   

    Java这样封装其实也有好处,通过层层分离,把各个功能分离出来,方面大家的使用。
      

  3.   


    改成
    OutputStreamWriter outfile = new OutputStreamWriter(new FileOutputStream(filename), "GBK");
      

  4.   

    为了支持中文的同时又能用格式化写入函数这个是指 printf 么?
      

  5.   

    没有特别的要求,希望能使用类似于printf的格式化函数,同时使用GBK编码写中文
      

  6.   

    哈哈
    其实之所以要这样用这是很有讲究的,例如
    OutputStreamWriter 是字符流通向字节流的桥梁:可使用指定的 charset 将要写入流中的字符编码成字节。它使用的字符集可以由名称指定或显式给定,否则将接受平台默认的字符集。 每次调用 write() 方法都会导致在给定字符(或字符集)上调用编码转换器。在写入底层输出流之前,得到的这些字节将在缓冲区中累积。可以指定此缓冲区的大小,不过,默认的缓冲区对多数用途来说已足够大。注意,传递给 write() 方法的字符没有缓冲。 为了获得最高效率,可考虑将 OutputStreamWriter 包装到 BufferedWriter 中,以避免频繁调用转换器。
      

  7.   

    我现在做java类的习惯是,先做C++的,转成C#的,最后做java的……
      

  8.   

    OOAD,ooap这封装有封装的好处。
      

  9.   

    哈哈:都一样 现在搞.Net三层能把人烦死,区区一个增删改查就得要一个多小时,不过JAVA是很有发展前途的,本人支持JAVA。楼主为何不去换一种心态对待啊!