基础班最后一课,IO流,毕竟是基础班,学的很浅,但是讲到了FileWriter写数据的5个方法的时候我依然觉得很简单,思路很明了,但是课下练习的时候我发现个BUG,琢磨的一会儿才看出名堂,估计有一些新手同学也会翻这个错误,
import java.io.FileWriter;
import java.io.IOException;
publicclass Text1 {
publicstaticvoid main(String[] args) throws IOException {
FileWriter fw =new FileWriter("b.txt");
fw.write("床前明月光\r\n");
fw.write("\r\n疑是地上霜", 0, 2);
fw.write("举头望明月\r\n", 0, 3);
fw.write(100);
fw.write("低头思故乡\r\n");
fw.flush();
fw.close();
}
}
大家说这个语句输出出来的时候是什么呢.我当时的想法是下面这样的:
床前明月光
疑是
举头望
100
低头思故乡
但是实际上:
床前明月光
疑是举头望d低头思故乡
一开始一脸懵,后来发现换行的字符中rn也占用了输出的个数,但是由于用\标识,所以并没有输出,而我想输出的100也没有打印出来,因为在定义int类型的数据时候,在计算机内会转化成阿斯克码来进行输出,所以输出的值为小写的d,也希望和我一样的新手在进行练习的时候注意这一点,不然遇到困难的时候真的好困惑,
明天复习11天的l1天的课程,来准备最终的考试,大家一起加油,有个好成绩