Java - 重置输入流
我正在处理一些Java代码,其中有一个我读过一次的InputStream,然后我需要用相同的方法再次阅读它。
问题是我需要将其位置重置为开始,以便读取两次。
我找到了一个黑客式的解决方案:
is.mark(Integer.MAX_VALUE);
//Read the InputStream is fully
// { ... }
try
{
is.reset();
}
catch (IOException e)
{
e.printStackTrace();
}
这种解决方案是否会导致一些未经察觉的行为?或者它会在它的愚蠢中起作用?