I’m reading a file in via apache.commons.FtpClient.
This works fine 99.9% of the time but sometimes it just dies in the read() method…
InputStream inStream = ftp.retrieveFileStream(path + file.getName()); String fileAsString = ''; if(inStream == null){ return; } while((c = inStream.read()) != -1){ //this is where the code sometimes just hangs fileAsString += Character.valueOf((char)c); }
My question is what is the most reliable way to protect against this locking up the system indefinitely. Should I be setting a timer in a separate thread? Or is there a simpler way to do it?
Just from a quick look at the docs, if you did…
It seems like it would double check that you can read without blocking before you actually read. I’m not certain on this though.