Quina diferència hi ha entre BufferedReader i InputStreamReader a Java?


Resposta 1:
  • Un InputStreamReader crea un objecte de flux nou, que es pot utilitzar per llegir dades de l'origen especificat. És un pont des dels fluxos d'octets fins als fluxos de caràcters. Llegeix bytes i els descodifica en caràcters mitjançant un caràcter especificat. El conjunt de caràcters que utilitza pot especificar-se per nom o es pot acceptar el caràcter per defecte de les plataformes. BufferedReader és una abstracció que llegeix text d'un flux d'entrada de caràcters. Amplia els personatges per proporcionar una lectura eficient de línies i caràcters. Es tracta d'una classe que s'utilitza per llegir el text d'un flux d'entrada basat en caràcters. Es pot utilitzar per llegir dades de línia per línia mitjançant el mètode readLine (). Fa que el rendiment sigui ràpid. S'hereta la classe de lector.

Resposta 2:

Un InputStreamReader és un pont des dels fluxos de bytes fins als fluxos de caràcters: llegeix els bytes i els descodifica en caràcters mitjançant un caràcter especificat. El caràcter que utilitza pot especificar-se per nom o es pot donar explícitament, o bé es pot acceptar el caràcter per defecte de la plataforma.

Cada invocació d’un dels mètodes de lectura () d’un InputStreamReader pot fer que un o més bytes es llegeixin del flux d’entrada de bytes subjacents. Per permetre la conversió eficient de bytes en caràcters, es podran llegir més bytes del flux subjacent del necessari per satisfer l'operació de lectura actual.

Per obtenir una eficiència òptima, considereu l’enfocament d’un InputStreamReader dins d’un BufferedReader. Per exemple:

 BufferedReader a
   = nou BufferedReader (nou InputStreamReader (System.in));
la classe pública BufferedReader estén Reader

Llegeix text d’un flux d’entrada de caràcters, emmagatzemant caràcters per proporcionar una lectura eficient de caràcters, matrius i línies.

Es pot especificar la mida del buffer o es pot utilitzar la mida predeterminada. El valor predeterminat és prou gran per a la majoria dels propòsits.

En general, cada sol·licitud de lectura feta per un lector fa que es faci una corresponent sol·licitud de lectura del caràcter o del byte subjacent. Per tant, és recomanable incloure un BufferedReader al voltant de qualsevol Reader les operacions de lectura () que puguin ser costoses, com ara FileReaders i InputStreamReaders. Per exemple,

 BufferedReader a
   = nou BufferedReader (nou FileReader ("foo.in"));

Resposta 3:

Referència: Decodejava.com que presenta un tutorial senzill i fàcil de Java

Les operacions d’entrada / sortida d’arxius consumeixen molts recursos importants i necessiten molt temps. Per tant, llegir un fragment de caràcters d’un fitxer i emmagatzemar-lo en un buffer local per al seu processament posterior és més ràpid i que llegir un personatge alhora, fora d’un fitxer.

Per tant, la classe BufferedReader s'utilitza per crear un flux de lector buffered a través del qual es llegeix un fragment de caràcters d'un fitxer i es transfereix a un buffer local per utilitzar-lo posteriorment.

Per obtenir més informació sobre BufferedReader amb un exemple de codi senzill, podeu llegir la classe Java BufferedReader - Decodejava.com

InputStreamReader s’embolica al voltant d’un flux d’entrada (que llegeix en bytes) per llegir dades en forma de caràcters a partir d’aquest, per tant la classe InputStreamReader actua com a convertidor d’octets a caràcters.

Per obtenir més informació sobre InputStreamReader amb un exemple de codi senzill, podeu llegir la classe Java InputStreamReader - Decodejava.com

Espero que us ajudi,

Molta sort!


Resposta 4:

Referència: Decodejava.com que presenta un tutorial senzill i fàcil de Java

Les operacions d’entrada / sortida d’arxius consumeixen molts recursos importants i necessiten molt temps. Per tant, llegir un fragment de caràcters d’un fitxer i emmagatzemar-lo en un buffer local per al seu processament posterior és més ràpid i que llegir un personatge alhora, fora d’un fitxer.

Per tant, la classe BufferedReader s'utilitza per crear un flux de lector buffered a través del qual es llegeix un fragment de caràcters d'un fitxer i es transfereix a un buffer local per utilitzar-lo posteriorment.

Per obtenir més informació sobre BufferedReader amb un exemple de codi senzill, podeu llegir la classe Java BufferedReader - Decodejava.com

InputStreamReader s’embolica al voltant d’un flux d’entrada (que llegeix en bytes) per llegir dades en forma de caràcters a partir d’aquest, per tant la classe InputStreamReader actua com a convertidor d’octets a caràcters.

Per obtenir més informació sobre InputStreamReader amb un exemple de codi senzill, podeu llegir la classe Java InputStreamReader - Decodejava.com

Espero que us ajudi,

Molta sort!