empêcher un Reader de lire s'il y a pas de réponse
Bonjour tout le monde j'ai un sérieux problème depuis longtemps :roll: et j'ai ouvert plusieurs discussions dessus.
voilà mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| public static String getResponseQuery(String query) throws Exception {
String response = "";
URL fileURL;
try {
int timeout = 20000;
fileURL = new URL(query);
URLConnection myConnection = fileURL.openConnection();
myConnection.setReadTimeout( timeout );
BufferedReader in = new BufferedReader(
new InputStreamReader(
myConnection.getInputStream()));
String inputLine;
//Thread.sleep(200000);
while (in.ready() != true) {
System.out.println("Test in.ready() :" + in.ready());
}
while ((inputLine = in.readLine()) != null) {
response += inputLine;
}
in.close();
} catch (IOException e) {
// TODO Auto-generated catch block
System.out.println( e.toString());
}
);
return response;
} |
mon problème est que lorsque le serveur distant commence le traitement d'une grosse requête j'obtiens une Exception de type IOException est ce qu'il y a un moyen de tester si InputStream n'est pa vide ?
En fait comment je peux empêcher mon Reader de lire que lorsqu'il y a de reponse et que s'il y'en a pas il se mets en attente
Merci