DataOutputStream.writeBytes(String s)中文乱码 JAVA中的char是16位的,一个char存储一个中文字符,直接用writeBytes方法转换会变为8位,直接导致高8位丢失。从而导致中文乱码。 解决方法: 现转换为字节组,再write写入流。方法如下: String fileData="你好"; 原方法: out.writeBytes(fileData); 新方法: out.write(fileData.getBytes());