黑马程序员技术交流社区

标题: 关于OutputStream类型的write方法 [打印本页]

作者: 王海龙    时间: 2012-12-22 13:13
标题: 关于OutputStream类型的write方法
  1. 功能描述:从键盘输入一串字符,直到输入回车符结束,然后从屏幕输出并将其存入a.txt文件中。
  2. 输入使用System.in.read();输出使用System.out.write();   


  3. public static void main(String[] args){
  4.         int ch;
  5.         try {
  6.             FileOutputStream fos = new FileOutputStream("a.txt");
  7.             System.out.print("请输入(回车符结束):");

  8.             while((ch=System.in.read())!='\n'){

  9. //下面这两行为什么ch明明是int类型的数据,控制台和a.txt中可以显示输入的字符和汉字?

  10.                 System.out.write(ch);
  11.                 fos.write(ch);



  12.             }
  13. //还有下面这行代码中write的参数不应该是int类型的吗,怎么可以写回车?
  14.             System.out.write('\n');
  15.             System.out.println("输出到文件完毕,请查收!");
  16.         }catch (IOException e) {
  17.             System.out.println(e.toString());
  18.         }   
  19.     }
复制代码

作者: hanyahui    时间: 2012-12-22 14:28
它读的时候是在查码表,而码表里存的都是数字
作者: 罗海清    时间: 2012-12-24 18:10
这个简单
1、System.in是一个InputStream类,他有一个方法read();
2、也就是说System.in.read()返回的是下一个字节数据,也就是8位二进制位
3、System.out.write()是PrintWriter的write()方法
4、这个write方法,可以接受参数为整型变量的参数。也就是write(int ch),当打印出来,因为是把ch,去对照码表,取出来的是字符。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2