У меня есть вопрос о InputStream Java.
Я читаю данные из файла, как показано ниже:
FileInputStream xfis = new FileInputStream('filename')
int size = xfis.avaliable();
int len = 0 ;
byte[] buffer new byte[size];
while( (len = xfis.read(buffer) > -1 )
(
// process some logic
)
xfis.close();
....
А также запускаю пакетную программу каждую минуту:
FileOutputStream fos = new FileOutputStream('filename')
FileLock flock = fos.getChannel().tryLock();
if(flock != null){
fos.write()
flock.release();
}
fos.close();
...
Когда обе программы читают и пишут вв то же время программа, которая читает файл, застревает в бесконечном цикле.
Как я могу решить эту проблему?
Спасибо