Servlet – Clase de flujo de entrada

La clase ServletInputStream es un componente del paquete Java javax.servlet. Es una clase abstracta que proporciona un flujo de entrada para leer datos binarios de una solicitud de cliente, incluido un método readLine eficiente para leer datos una línea a la vez.

Sintaxis:

public abstract class ServletInputStream extends InputStream

Constructor 

ServletInputStream() : Dado que ServletInputStream es una clase abstracta, no se puede inicializar.

Nota: el método ServletRequest.getInputStream() se usa para obtener la referencia de ServletInputStream.

Métodos 

ServletInputStream contiene solo un método concreto llamado readLine.

readLine(byte [ ] b, int offset, int len):

  1. Es parte de la clase ServletInputStream.
  2. Se utiliza para leer el flujo de entrada.
  3. Devolverá un número de bytes leídos o -1.
  4. Podría lanzar IOException si ocurre una excepción de entrada o salida.

Firma del método:

public int readLine(byte[] b, int offset,int len) throws IOException.

Parámetros del método: el método readLine() tiene tres parámetros que son byte, int y tipo int.

Tipo de devolución del método: el método readLine() tiene un tipo de devolución int y devolverá una cantidad de bytes leídos o -1 si se llega al final de la secuencia.

Métodos abstractos de ServletInputStream

S. No.  

Método                                     

Descripción                                                                                    

Tipo de retorno                        

1. Está terminado() El método isFinished() devolverá verdadero si se han leído todos los datos de la secuencia; de lo contrario, devolverá falso. booleano abstracto
2. está listo()     El método isReady() devolverá verdadero si los datos de la transmisión se pueden leer sin bloquear; de lo contrario, devolverá falso. booleano abstracto
3. setReadListener(ReadListener readListener)

El método setReadListener se usa para instruir al ServletInputStream 

para invocar el ReadListener provisto cuando es posible leer.

vacío abstracto

Interfaces implementadas por ServletInputStream

  • java.io.Cerrable .
  • java.lang.AutoCloseable.

Programa Java para crear un servlet y comprobar si se pueden leer los datos del flujo:

Java

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class GeeksForGeeks extends HttpServlet {
    public void doGet(HttpServletRequest request,
                      HttpServletResponse response)
         
    {
        try {
            ServletInputStream servletInputStream
                = request.getInpuStream();
            System.out.println(
                "Data of stream can be read : "
                + servletInputStream.isReady());
        }
        catch (Exception e) {
            System.out.println(e.getMessage());
        }
    }
    public void doPost(HttpServletRequest request,
                       HttpServletResponse response)
    {
        doGet();
    }
}

Producción:

true

Nota : el código anterior no se ejecutará en el IDE en línea, ya que es un código del lado del servidor.

Publicación traducida automáticamente

Artículo escrito por harshsethi2000 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *