Хорошо, поэтому я читаю файл размером 40 МБ по 1000 байт за раз.
Каждый раз, когда я очищаю свой буфер, я проверяю, чтобы убедиться, что в FileReader все еще есть данные, которые нужно прочитать, используя метод ready (). Тем не менее, он возвращает false, когда есть биты, которые еще не были прочитаны, но поток не готов. Как бы мне обойти это?
if( !fileInput.ready() )
{
System.out.println(!fileInput.ready());
//empty the rest of the buffer into the output file
fileOutput.write( buffer.toString() );
fileOutput.flush();
doneProcessing = true;
}