PipedInputStream - поток¶
- class
java.io.
PipedInputStream
¶ Наследник :py:class::java.io.InputStream
try { int countRead = 0; byte[] toRead = new byte[100]; PipedInputStream pipeIn = new PipedInputStream(); PipedOutputStream pipeOut = new PipedOutputStream(pipeIn); // Считвать в массив, пока он полностью не будет заполнен while(countRead<toRead.length){ // Записать в поток некоторое количество байт for(int i=0; i<(Math.random()*10); i++){ pipeOut.write((byte)(Math.random()*127)); } // Считать из потока доступные данные, // добавить их к уже считанным. int willRead = pipeIn.available(); if(willRead+countRead>toRead.length) { //Нужно считать только до предела массива willRead = toRead.length-countRead; countRead += pipeIn.read(toRead, countRead, willRead); } } } catch (IOException e) { pr("Impossible IOException occur: "); e.printStackTrace(); }