输出 中文 到文件显示 乱码 的问题

coolzdp 2005-02-19 05:29:51
FileOutputStream fout = new FileOutputStream(saveTo);
for(int i = 0;i <= allMessages.length()-1;i++)
{
fout.write(allMessages.charAt(i));
}
fout.close();

英文正常,中文打开文件就是乱码

加上这个也不行,请教!!!
allMessages = ChangeVarcharItem(allMessages);//编码转换
public static String ChangeVarcharItem (String strItem)
{
try
{
strItem = new String(strItem.getBytes("ISO8859_1"),"gb2312");
}
catch(Exception objExp)
{}
return strItem;
}
...全文
124 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
龙宜坡 2005-02-19
  • 打赏
  • 举报
回复
关注中!
coolzdp 2005-02-19
  • 打赏
  • 举报
回复
allMessages
保存的TextArea的内容,
是不是这个有关?
coolzdp 2005-02-19
  • 打赏
  • 举报
回复
不行:<

这个还不行
DataOutputStream dout = new DataOutputStream(new FileOutputStream(saveTo));
dout.writeChars(allMessages);
dout.close();

??????
??????
??????
??????
??????
??????
??????dsfds
??????dsfds
??????dsfds
??????dsfds
??????dsfds
??????dsfds
??????dsfds
??????dsfds
??????dsfds
??????dsfds
??????dsfds
??????dsfds
samkuang 2005-02-19
  • 打赏
  • 举报
回复
mark
zanjun 2005-02-19
  • 打赏
  • 举报
回复
OutputStream是面向字节的流,写出去的是字节保存在文件里的,当然乱码
应该用面向字符的流Writer,就像楼上那样~~
dyhml 2005-02-19
  • 打赏
  • 举报
回复
读写中文要用Reader和Writer
mq612 2005-02-19
  • 打赏
  • 举报
回复
import java.io.*;

public class Test {
File fileOut;
BufferedWriter bWrite;

public Test() {
}

public void writeFile() {
fileOut = new File("c:/111.txt");
String value = "我们都有一个家,名字叫中国!";
try {
bWrite = new BufferedWriter(new FileWriter(fileOut));
}
catch (IOException ex2) {
}
try {
bWrite.write(value);
bWrite.flush();
}
catch (IOException ex1) {
System.out.println(ex1.toString());
}
}

public static void main(String[] args) {
new Test().writeFile();
}
}

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧