黑马程序员技术交流社区
标题:
关于io流的
[打印本页]
作者:
jbl3344
时间:
2015-9-2 00:20
标题:
关于io流的
FileReader fr=new FileReader("F:\\workspace\\day20-zuoye\\aa\\aa.txt");
FileWriter fw=new FileWriter("aa\\bb\\bb.txt");
int i=0;
//2,read方法读取每一个字符。
while((i=fr.read())!=-1){
//3,并把字符写进bb.txt。
System.out.println(i);//注意:我写进去的是int值。
fw.write(i);//注意:我写进去的是int值。
}
fw.close();
上面代码我可以把int类型i放到输出流对象里,写出来是字符怎么理解。我在控制台打的是数值啊?
作者:
belizer
时间:
2015-9-2 00:22
第你一个 也想知到
作者:
lion_good
时间:
2015-9-2 10:40
首先,
public class FileWriter extends OutputStreamWriter
复制代码
,FileWriter 继承自OutputStreamWriter,OutputStreamWriter中write(int)定义为
public void write(int c) throws IOException {
se.write(c);
}
复制代码
而se是StreamEncoder类的对象,而StreamEncoder中write(int)定义为
public void write(int c) throws IOException {
char cbuf[] = new char[1];
cbuf[0] = (char) c;
write(cbuf, 0, 1);
}
复制代码
看到了吧,int先转化为了char类型,因此输出为char类型.
遇到不明白的,先看源代码,能解决大部分问题.
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2