聚合 管理  

Blog Stats

News

我使用新博客啦:
http://www.linjunhai.com/
大家到我的新博客上看看吧!

随笔分类(28)

文章分类(4)

随笔档案(53)

文章档案(4)

相册

相关链接


林俊海的博客

超级大菜鸟,每天要自强!

之前写过一个方法可以解决从外部读入文本时中文不会乱码,可是从程序中的字符串要写回文本文件时又出现了中文字符乱码,原因是JAVA默认使用Unicode编码的字符,而我们使用的windows系统文本文件使用的是GBK编码,要解决这个问题,就得从编码上入手。下面这个方法就可以将字符串以GBK编码写入文本文件,这样就可以解决写入中文字符乱码的问题了。

/**
* @(#)WriteText.java  17:58 10/09/06
* @versoin 0.01
* @author 林志斌(alvin) 广东 普宁 里湖
* Copyright ? 1996-2006 zmzx.icpcn.com All Rights Reserved
* Use is subject to license terms.
*/

package alvin.alvinio;

import java.io.*;

public class WriteText {

 public static void writeText(String path, String text) {
  try {
    FileOutputStream o = new FileOutputStream(path);
    o.write(text.getBytes("GBK"));
    o.close();
  } catch(Exception e) {}
 }
 
 //测试函数
 public static void main(String[] args) {
  //将指定的文本内容以 GBK 编码写入磁盘的指定路径。
  String content = "你好!林志斌";
  WriteText.writeText("C:/hello.txt", content);
 }
}

posted on 2006-11-05 18:22 林俊海 阅读(9863) 评论(5)  编辑  收藏 所属分类: JAVA天地

评论

# re: 解决 JAVA 写入文本文件时中文乱码 2008-07-02 11:06 fangalone
test ok,3qs  回复  更多评论
  

# re: 解决 JAVA 写入文本文件时中文乱码[未登录] 2008-10-27 09:51 哈哈
你这个好像不行吧
写到C:/hello.txt 仅仅是一个内存存储的物理地址。而不是想要的“你好!林志斌”  回复  更多评论
  

# re: 解决 JAVA 写入文本文件时中文乱码[未登录] 2008-10-27 10:12 哈哈
可以
谢谢!!!  回复  更多评论
  

# re: 解决 JAVA 写入文本文件时中文乱码 2009-12-23 10:13 为各
碰巧而已。你程序中的中文字串也是GBK的。你用UltraEdit这样的编辑器编辑一段unicode的java源程序文本再来试。
好好看看getBytes("CharsetID")的说明。
  回复  更多评论
  

# re: 解决 JAVA 写入文本文件时中文乱码 2009-12-23 10:24 林志斌
@为各
难道你不知道 ***.class 字节码文件中的都是 unicode 保存的了

难道你不知道 对于非平台默认编码的 ***.java 源文件,编译时,需要指明 -encoding 参数

你有没有试过反编译

你怎么知道 gbk 的 java 文件,编译后会在 ***.class 中保留 gbk 字节  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: