Cómo leer un flujo de entrada HTTP

El código pegado a continuación se tomó de documentos Java en HttpURLConnection .

Obtuve el siguiente error:

readStream(in) 

Ya que no existe tal método.

Veo esta misma cosa en la descripción general de la clase para URLConnection en URLConnection.getInputStream()

¿Dónde está readStream ? El fragmento de código se proporciona a continuación:

  URL url = new URL("http://www.android.com/"); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); try { InputStream in = new BufferedInputStream(urlConnection.getInputStream()); readStream(in); <-----NO SUCH METHOD } finally { urlConnection.disconnect(); } 

5 Solutions collect form web for “Cómo leer un flujo de entrada HTTP”

Pruebe con este código:

 InputStream in = address.openStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(in)); StringBuilder result = new StringBuilder(); String line; while((line = reader.readLine()) != null) { result.append(line); } System.out.println(result.toString()); 

Parece que la documentación sólo está usando readStream() para significar:

Ok, le hemos mostrado cómo obtener el InputStream, ahora su código va en readStream()

Así que usted debe escribir su propio método readStream() que hace lo que quería hacer con los datos en el primer lugar.

Spring tiene una clase util para eso:

 import org.springframework.util.FileCopyUtils; InputStream is = connection.getInputStream(); ByteArrayOutputStream bos = new ByteArrayOutputStream(); FileCopyUtils.copy(is, bos); String data = new String(bos.toByteArray()); 

Prueba este código

 String data = ""; InputStream iStream = httpEntity.getContent(); BufferedReader br = new BufferedReader(new InputStreamReader(iStream, "utf8")); StringBuffer sb = new StringBuffer(); String line = ""; while ((line = br.readLine()) != null) { sb.append(line); } data = sb.toString(); System.out.println(data); 

Un código completo para leer desde un servicio web de dos maneras

 public void buttonclick(View view) { // the name of your webservice where reactance is your method new GetMethodDemo().execute("http://wervicename.nl/service.asmx/reactance"); } public class GetMethodDemo extends AsyncTask<String, Void, String> { //see also: // https://developer.android.com/reference/java/net/HttpURLConnection.html //writing to see: https://docs.oracle.com/javase/tutorial/networking/urls/readingWriting.html String server_response; @Override protected String doInBackground(String... strings) { URL url; HttpURLConnection urlConnection = null; try { url = new URL(strings[0]); urlConnection = (HttpURLConnection) url.openConnection(); int responseCode = urlConnection.getResponseCode(); if (responseCode == HttpURLConnection.HTTP_OK) { server_response = readStream(urlConnection.getInputStream()); Log.v("CatalogClient", server_response); } } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } try { url = new URL(strings[0]); urlConnection = (HttpURLConnection) url.openConnection(); BufferedReader in = new BufferedReader(new InputStreamReader( urlConnection.getInputStream())); String inputLine; while ((inputLine = in.readLine()) != null) System.out.println(inputLine); in.close(); Log.v("bufferv ", server_response); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; } @Override protected void onPostExecute(String s) { super.onPostExecute(s); Log.e("Response", "" + server_response); //assume there is a field with id editText EditText editText = (EditText) findViewById(R.id.editText); editText.setText(server_response); } } 
  • Nuevo Tema (tarea) .start () VS ThreadPoolExecutor.submit (tarea) en Android
  • ¿Cómo se puede obtener una referencia a la clase externa de la clase interna que no utiliza el nombre de clase exterior?
  • ListView no responde a los eventos de clics en Android
  • "La aplicación no se ejecutará a menos que actualices los servicios de Google Play" con Google Maps API
  • Erro de Xalan.jar al crear un proyecto android
  • ¿Son abstractos todos los métodos de la interfaz?
  • Prueba de interfaz de usuario de Espresso para Android: falla en la ejecución de la prueba: Error en la ejecución de la instrumentación debido a 'java.lang.IllegalAccessError'
  • ¿Cómo recibir aleatoriamente un Material Design Color?
  • ¿Cómo puedo instalar un apk en varios dispositivos conectados?
  • Convertir el número en doble
  • Android - problemas de SSL en el emulador de estudio de Android, funciona bien en el teléfono
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.