黑马程序员技术交流社区
标题:
第21天-09,为什么bufw.write((stu.getSum));这句会出现乱码?
[打印本页]
作者:
马睿
时间:
2012-9-15 12:37
标题:
第21天-09,为什么bufw.write((stu.getSum));这句会出现乱码?
毕老师代码
public static void wirte2File(Set<student> stus) throws IOException
{
BufferedWriter bufw = new BufferedWriter(new FileOutputStream("stuinfo.txt"));
for ( Student stu : stus )
{
bufw.write(stu.toString() + "\t");
/*为何此处改成bufw.write(stu.getSum() + “”);则不会再有乱码?*/
bufw.write(stu.getSum());
bufw.newLine();
bufw.flush();
}
}
复制代码
作者:
佟亚鹏
时间:
2012-9-15 12:51
解决乱码问题,首先要找到在哪个过程中出现的,你的Student类的sum字段,是不是int类型的,如果是int类型,会使用BufferedWriter 的这个方法
public void write(int c)
会把你的int值转化为字符,写出去,加一个""号转换为字符串就不会乱码,这就是乱码产生的原因,你可是试试把stu.的sum值改为97,看看是不是会出现a这个字符
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2