system.in close()方法和skip()

关于system.in close()方法和skip()

 
* DataInputStream DataOutputStream
  *
  *
  *
  * public static void aa()
   {
    InputStream in = System.in;
    try {
     int a=in.read();
     in.skip(2);
     in.close();
    } catch (IOException e) {
     // TODO 自动生成的 catch 块
     e.printStackTrace();
    }
   }
   public static void bb()
   {
    InputStream in = System.in;
    try {
     int A = in.read();
    } catch (IOException e) {
     // TODO 自动生成的 catch 块
     e.printStackTrace();
    }
   }
   
   InputStream in = System.in;
      in.close();在一个程序运行中不能关闭 ,若关闭出现:
  * java.io.IOException: Stream closed
  * at java.io.BufferedInputStream.getBufIfOpen(Unknown Source)
  * at java.io.BufferedInputStream.fill(Unknown Source)
  * at java.io.BufferedInputStream.read(Unknown Source)
  * at homework.Demo3.bb(Demo3.java:32)
  * at homework.Demo3.main(Demo3.java:13)
  *
  * 原因:System.class 下:public final static InputStream in = nullInputStream();静态
  *
  *
  * slip(n) 如果n>输入的长度则 n=输入的长度
  * public long skip(long n) throws IOException {
 
   long remaining = n;
   int nr;
 
   if (n <= 0) {
       return 0;
   }
   
   int size = (int)Math.min(MAX_SKIP_BUFFER_SIZE, remaining);
   byte[] skipBuffer = new byte[size];
 
   while (remaining > 0) {
       nr = read(skipBuffer, 0, (int)Math.min(size, remaining));
       
       if (nr < 0) {
    break;
       }
       remaining -= nr;
   }
   
   return n - remaining;
      }

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值