今天写2016级复试编程题,将数字输出到TXT文件中。在写入到文件中时,打开TXT文件出现了乱码。
//写入文件
File file=new File("D://我的.txt");
//OutputStream os=new FileOutputStream(file);
Writer writer=new FileWriter(file);
for(int i=0;i<24;i++){
writer.write(arr[i]+" ");
//System.out.println();
}
writer.flush();
writer.close();
出现乱码的原因是:FileWriter从类OutputStreamWriter继承,public void write(int c)写入单个字符,c指定要写入字符的ASCII。这里arr数组中的整数是作为字符的ASCII,最终显示的是ASCII为这些数值的字符,并不是这些数字本身。要显示这些数字本身,可改为:
writer.write(String.valueOf(arr[i])+" ");