java io 问题

pineappple 2008-05-15 06:28:58
import java.io.*;
class Test {
public static void main(String[] args) throws IOException{
OutputStreamWriter osw=new OutputStreamWriter(new FileOutputStream("song.java"));
//String s="song guo hui ";
osw.write("song guo hui");//这样传入出现的是乱码,但是osw.write(s);就正常了,这是为啥
osw.flush();
}
}
...全文
79 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
jason_kou 2008-05-16
  • 打赏
  • 举报
回复
毫无疑问是编码问题,
楼主需要看看编码方面的东西:
FL1429 2008-05-16
  • 打赏
  • 举报
回复
用ultraedit打开看看
ilrxx 2008-05-15
  • 打赏
  • 举报
回复
OutputStreamWriter osw=new OutputStreamWriter(new FileOutputStream("song.java"),"GBK"); 建议用"UTF-8"再试下
云上飞翔 2008-05-15
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 pineappple 的回复:]
我用记事本打开的啊,确实是乱码,真的,不知道到底怎么回事
[/Quote]
答:对呀,是记事本的问题啊。若你用写字板程序打开,肯定两种都一样。我已用winhex看过song.java了,两种方式生成的song.java是一样的(指:不是乱码)。与空格无关。是记事本程序将它两个字符合并成一个汉字解释了,造成了乱码。
pineappple 2008-05-15
  • 打赏
  • 举报
回复
文件用osw.getEncoding()是gbk码,牛人们看看吧,希望能有个答案
pineappple 2008-05-15
  • 打赏
  • 举报
回复
我用记事本打开的啊,确实是乱码,真的,不知道到底怎么回事
ThirdDimension 2008-05-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zero1111 的回复:]
呵呵 看了一下,原来是这么回事.
我开始运行跟搂住说的问题一样,后来发现s="song guo hui ";
实际上比下面写的
osw.write("song guo hui"); 多了个空格,就正常了.
s字符串长度为13,而直接写入的长度为12.

至于多一个空格就正常的问题,估计跟你用OutputStreamWriter这个有关,具体什么问题,我不敢吓说,还是请高手说吧.
[/Quote]

眼神真好,你不说我还没注意呢。学习!
云上飞翔 2008-05-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zero1111 的回复:]
呵呵 看了一下,原来是这么回事.
我开始运行跟搂住说的问题一样,后来发现s="song guo hui ";
实际上比下面写的
osw.write("song guo hui"); 多了个空格,就正常了.
s字符串长度为13,而直接写入的长度为12.

至于多一个空格就正常的问题,估计跟你用OutputStreamWriter这个有关,具体什么问题,我不敢吓说,还是请高手说吧.
[/Quote]
答:与空格没有任何关系。是3楼说得对。
zero1111 2008-05-15
  • 打赏
  • 举报
回复
呵呵 看了一下,原来是这么回事.
我开始运行跟搂住说的问题一样,后来发现s="song guo hui ";
实际上比下面写的
osw.write("song guo hui"); 多了个空格,就正常了.
s字符串长度为13,而直接写入的长度为12.

至于多一个空格就正常的问题,估计跟你用OutputStreamWriter这个有关,具体什么问题,我不敢吓说,还是请高手说吧.
loujianchengdd 2008-05-15
  • 打赏
  • 举报
回复
你打开那个.java文件的使用用的是什么编辑器,可能与这个编辑器的编码有关
zhlsyc 2008-05-15
  • 打赏
  • 举报
回复
看你文件属性是采用什么编码的
Shine_Panda 2008-05-15
  • 打赏
  • 举报
回复
测试了一下你的代码.
确认两个都没有问题。
lz 看有没有别的原因.

62,614

社区成员

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

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