很多人问这样的问题,但这个问题有些不同。这是代码:
public static BufferedReader reader;
public static String readString() throws IOException {
reader = new BufferedReader(new InputStreamReader(System.in));
String s = reader.readLine();
reader.close();
return s;
}
程序运行时readString
方法被多次调用。第二个呼叫原因exception: stream closed
。我不明白:为什么会这样呢?每次我们声明新的BufferedReader
。所以stream
必须也是新的。或不?
如果没有,我应该如何组织我的程序,以便在所有调用之后和程序结束后关闭读者?
因为System.in
是相同Object
( public final static InputStream in;
的System
两个方法类) 调用
使用,在一种方法闭会自动关闭System.in
用于其它方法。一旦调用完成,您应该BufferedReader
从 外部 关闭该方法(
如我所见public
)readString
,这样它最终将关闭底层System.in
。
问题内容: 我使用Apache HTTP Client进行HTTPPost调用,然后尝试使用Jackson响应创建一个对象。这是我的代码: 方法makePublisherApiCall()将在一个循环中被调用,该循环运行100次。当我取消注释该行时,基本上会出现问题: 取消注释后,我得到异常: 否则,它将正常工作。有人可以让我知道我在做什么错。 问题答案: 什么是与响应实体呢?我会怀疑它正在消耗实
问题内容: 我正在尝试下载一个zip文件,但出现了 Stream Closed Exception 。当我使用Swing GUI时,会出现此错误,但是如果我使用控制台,则不会有问题。为什么会出现此异常?我该如何解决? 这是我的代码: 这是堆栈跟踪 问题答案: 此异常通常表示连接突然关闭。我将查看服务器上的日志,看看是否有错误。
在学习熊猫的过程中,我已经尝试了好几个月来找出这个问题的答案。我在日常工作中使用SAS,这是非常好的,因为它提供了非核心支持。然而,SAS作为一个软件是可怕的,原因还有很多。 有一天,我希望用python和熊猫取代SAS,但我目前缺乏大型数据集的核心外工作流。我说的不是需要分布式网络的“大数据”,而是文件太大,无法放入内存,但又小到足以放入硬盘。 我的第一个想法是使用在磁盘上保存大型数据集,只将我
我想使用stream getfirst方法两次,但是出现了一个错误,即(java.lang.IllegalStateException:stream已经被操作或关闭),并且这个流代码以此处命名的注释开始。
我是javaScript新手,现在不知道如何实现这一点。我的HTML中有带数字的“选择”。 当用户在此选择中选择数字时,js将创建用户选择的任意多个输入字段,如图中[ 如何做到这一点?
问题内容: 我注意到,如果关闭,我将无法再从键盘插入输入,因为已经关闭了。无论如何,我可以保留(删除文件时需要它),然后从键盘添加更多输入吗? 问题答案: 看起来您需要: http://commons.apache.org/io/apidocs/org/apache/commons/io/input/CloseShieldInputStream.html 在制作读者之前,先将System.in环绕