close
にInputStream
が無期限にハングアップする可能性があることを知る必要があります。ここに私のコードです。 InputStream
またはBufferedReader
を閉じる終了時にJavaの入力ストリームがハングする
URL url = new URL("ftp://..");
InputSream is = url.openStream();
BufferedReader reader = new InputStreamReader(new GZIPInputStream(is));
try{
while(true){
if(reader.readline() == null){
break;
}
}
}catch(Exception e){
e.printStackTrace();
} finally{
System.out.println("Closing reader");
is.close(); // sometimes hangs indefinitely
System.out.println("Reader closed");
}
は同じ効果があります。