Ich habe den folgenden Code geschrieben und es funktioniert gut.So schließen Sie die Ressourcen von Try-with-Ressource-Anweisung
public void callingTheAPI() throws IOException{
BufferedReader bufferedReader= null;
CloseableHttpClient httpclient= null;
CloseableHttpResponse httpResponse= null;
try {
httpclient = HttpClients.createDefault();
HttpGet httpGet= new HttpGet(URL);
httpGet.addHeader("Authorization","Bearer "+getToken());
httpResponse=httpclient.execute(httpGet);
int responseCode= httpResponse.getStatusLine().getStatusCode();
System.out.println(responseCode);
bufferedReader= new BufferedReader(new InputStreamReader (httpResponse.getEntity().getContent()));
StringBuilder stringBuilder= new StringBuilder();
String line;
while((line=bufferedReader.readLine())!=null){
stringBuilder.append(line);
}
System.out.println(stringBuilder.toString());
}
catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
if (bufferedReader != null){
bufferedReader.close();
}
if(httpResponse != null){
httpResponse.close();
}
if (httpclient != null){
httpclient.close();
}
}
}
Vor kurzem fand ich heraus, dass es ein neues Feature try-with-resource
von java 7
ab aufgerufen ist, die automatisch die Ressourcen schließen, nachdem die Anweisung ordnungsgemäß ausgeführt. Wie kann ich den folgenden Code konvertieren, um try-with-resource
statement zu verwenden. Ich habe ein bisschen getan, aber ich bin verwirrt, wie man alle Ressourcen hinzufügen kann. Hier ist der Code
public void closeResources(){
CloseableHttpClient httpclient = HttpClients.createDefault();
HttpGet httpGet= new HttpGet(URL);
httpGet.addHeader("Authorization","Bearer "+getToken());
CloseableHttpResponse httpResponse=httpclient.execute(httpGet);
int responseCode= httpResponse.getStatusLine().getStatusCode();
System.out.println(responseCode);
try(BufferedReader bufferedReader= new BufferedReader(new InputStreamReader (httpResponse.getEntity().getContent()))){
StringBuilder stringBuilder= new StringBuilder();
String line;
while((line=bufferedReader.readLine())!=null){
stringBuilder.append(line);
}
System.out.println(stringBuilder.toString());
} catch (UnsupportedOperationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Können Sie mir bitte helfen, diesen Code zu konvertieren, so dass es try-with-resources
Aussagen verwendet. Vielen Dank im Voraus
Bitte schließen Sie die Frage, wenn sie beantwortet wurde. – Beri