JavaのHTTPClientのレスポンスを出力する方法

HTTPClientのレスポンスコード、レスポンスヘッダー、レスポンスボディを出力する方法をよく忘れるので備忘録

    Map<String, List<String>> headerFields = con.getHeaderFields();
    System.out.println("レスポンスヘッダ:");
    for (String key : headerFields.keySet()){
        System.out.println(key + ": " + con.getHeaderField(key));
    }
    System.out.println("レスポンスコード:");

      System.out.println(con.getResponseCode());

      System.out.println(con.getResponseMessage());
      System.out.println("\n---- ボディ ----");

      BufferedReader reader =
          new BufferedReader(new InputStreamReader(con.getInputStream()));

      while (true){
          String line = reader.readLine();
          if ( line == null ){
              break;
          }
          System.out.println(line);
      }

      reader.close();