搞什么手机终端……烦死人复杂问题搞简单了,简单问题却搞复杂了,浪费我时间……发泄一下……谁能给我讲一下快速入门文件流的方法,
outfile = new StreamWriter(filename, false, System.Text.Encoding.GetEncoding("GBK"));
这是C#的,还好,虽然也很罗嗦。outfile = new PrintWriter(new BufferedWriter(new OutputStreamWriter(new FileOutputStream(filename),"GBK")));
这是java的,我彻底无语,为了支持中文的同时又能用格式化写入函数,至于么,查了2小时获得的结果……有没有不这么啰嗦的方式?
outfile = new StreamWriter(filename, false, System.Text.Encoding.GetEncoding("GBK"));
这是C#的,还好,虽然也很罗嗦。outfile = new PrintWriter(new BufferedWriter(new OutputStreamWriter(new FileOutputStream(filename),"GBK")));
这是java的,我彻底无语,为了支持中文的同时又能用格式化写入函数,至于么,查了2小时获得的结果……有没有不这么啰嗦的方式?
改成
OutputStreamWriter outfile = new OutputStreamWriter(new FileOutputStream(filename), "GBK");
其实之所以要这样用这是很有讲究的,例如
OutputStreamWriter 是字符流通向字节流的桥梁:可使用指定的 charset 将要写入流中的字符编码成字节。它使用的字符集可以由名称指定或显式给定,否则将接受平台默认的字符集。 每次调用 write() 方法都会导致在给定字符(或字符集)上调用编码转换器。在写入底层输出流之前,得到的这些字节将在缓冲区中累积。可以指定此缓冲区的大小,不过,默认的缓冲区对多数用途来说已足够大。注意,传递给 write() 方法的字符没有缓冲。 为了获得最高效率,可考虑将 OutputStreamWriter 包装到 BufferedWriter 中,以避免频繁调用转换器。