先去把字符编码搞懂,就能理解为什么,乱码了,不要用writeChar方法来写文件,直接用write就行,直接写如byte数据,向将name字符串,指定相应的字符集,转成byte数据,如果你用的是window系统,byte[] nameByte = name.getBytes("GBK");,如果是linux ,byte[] nameByte= name.getBytes("UTF8");
调用raf.write(nameByte);写入文件,就应该不乱码了。乱码原因是writeChar
写入的是 unicode bmp面的字符,文本编辑器不识别,就显示乱码。