A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

毕老师代码
  1.     public static void wirte2File(Set<student> stus) throws IOException
  2.     {
  3.         BufferedWriter bufw = new BufferedWriter(new FileOutputStream("stuinfo.txt"));
  4.         
  5.         for ( Student stu : stus )
  6.         {
  7.             bufw.write(stu.toString() + "\t");

  8.             /*为何此处改成bufw.write(stu.getSum() + “”);则不会再有乱码?*/
  9.             bufw.write(stu.getSum());
  10.             bufw.newLine();
  11.             bufw.flush();
  12.         }
  13.     }
复制代码

1 个回复

倒序浏览
解决乱码问题,首先要找到在哪个过程中出现的,你的Student类的sum字段,是不是int类型的,如果是int类型,会使用BufferedWriter 的这个方法

public void write(int c)
会把你的int值转化为字符,写出去,加一个""号转换为字符串就不会乱码,这就是乱码产生的原因,你可是试试把stu.的sum值改为97,看看是不是会出现a这个字符
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马