次のコードがあります。
public class Interface {
public void exec(){
try {
_inputStream.read();
BufferedReader br = new BufferedReader( new InputStreamReader( _inputStream ));
System.out.println( br.readLine() );
} catch (IOException e) {
}
}
public void setInputStream( InputStream inputStream ){
_inputStream = inputStream;
}
private InputStream _inputStream;
}
public class Run {
public static void main(String[] args) {
Interface ui = new Interface();
ui.setInputStream( new ByteArrayInputStream( "2 4 N".getBytes( Charset.defaultCharset() ) ) );
ui.exec();
}
}
ただし、このコードを実行するたびに、印刷されるのは
" 4 N"
最初の文字が失われました。ストリームに何が起こっているのか、それを防ぐにはどうすればよいですか?