大致看了一下 public void dosave() 这个函数怎么写到了构造函数里还有actionPerformed()里的代码有点问题 逻辑上的 我也没看出来啥~
dosave应该是往这里放代码是漏了,倒数花括号层次,到dosave还是正确的。错误发生在你用OutputStream还是在PrintWriter上?写文本为什么不用FileWriter或RandomAccessFile?