I am trying to read an InputStream twice. But when I try to reset the stream and read it says no bytes read. I changed from InputStream to BufferedInputStream still reset doesn't work for me. What could be the mistake that I am doing?
Below is my code:
byte[] buffer = new byte[READ_BUFFER_SIZE];
int bytesRead=0;
InputStream _baseStream = new FileInputStream("slot.txt");
BufferedInputStream buff =new BufferedInputStream(_baseStream);
try {
bytesRead = buff.read(buffer, 0, READ_BUFFER_SIZE);
System.out.println("1. "+bytesRead);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
if(bytesRead>0)
{
buff.mark(10);
buff.reset();
try {
//bytesRead = _baseStream.read(buffer, 0, READ_BUFFER_SIZE);
bytesRead = buff.read(buffer, 0, READ_BUFFER_SIZE);
System.out.println("2. "+bytesRead);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
Output:
- 39
- -1