在学习IO流的时候,我们肯定会用到一些InputStreamReader等等类的函数,例如:
InputStreamReader fos1=new InputStreamReader(System.in);
BufferedReader fos=new BufferedReader(fos1);
在一个类中,我们通过这样的方式访问了键盘.并且在程序代码操作完后最后把这个流close掉了
这时,如果我们在主类又一次运用这个Reader或者用Scanner类去访问键盘,类似这样:
static Scanner inn1=new Scanner(System.in);
并且进行一些类似read(),next(),nextInt()等等之类的操作
调试时就会报错
这时我们的解决方案是:将之前那个类中的键盘流的close()代码删除
原因:System.in键盘流一旦被close掉,就无法再进行这个流的操作
所以建议:如果在打代码时注意到要多次访问键盘流,那就等到最后主函数啥都结束后,在进行close操作。
这也是我今天遇到的一个小问题,嘻嘻,小白一个,还得多下功夫!!