我正在处理一些Java代码,其中有一个InputStream,我需要在同一个方法中读取两次。
问题是我需要将其位置重置到开头才能读取两次。
我已经找到了一个hack-ish的解决方案:
is.mark(Integer.MAX_VALUE);
//Read the InputStream is fully
// { ... }
try
{
is.reset();
}
catch (IOException e)
{
e.printStackTrace();
}
这个解决方案会导致一些意外的行为吗?或者它会在愚蠢的状态下工作?