write java writer

write - reader java



¿Cuál es la diferencia entre agregar y escribir métodos de java.io.writer? (6)

Como puede ver en la documentación, anexar también devuelve el Escritor que acaba de escribir para que pueda realizar varios anexos, como:

out.append(a).append(b).append(c)

La interfaz java.io.Writer tiene dos métodos llamados agregar y escribir. ¿Cuáles son las diferencias entre estos dos? Incluso dice que

Una invocación de este método de la forma out.append(c) comporta exactamente de la misma manera que la invocación out.write(c)

Entonces, ¿cuál es la razón para tener dos variantes de nombre de método?


Hay pequeñas diferencias entre añadir () y escribir (). Todo lo cual puedes trabajar leyendo los Javadocs. Insinuación. ;)

  • write solo tomará un String que no debe ser nulo y devuelve void
  • append tomará cualquier CharSequence que pueda ser nulo y devolverá el Writer para que pueda ser encadenado.

write es un formato de estilo anterior creado antes de que CharSequence estuviera disponible.

Estos métodos están sobrecargados para que haya una

  • write(int) donde el int se lanza a un char. append(char) debe ser un tipo char.
  • write(char[] chars) toma una matriz de char, no hay un append equivalente ().

Me parece que es un subproducto de la interfaz Appendable que java.io.Writer implementa para proporcionar compatibilidad con java.util.Formatter . Como notó, la documentación señala que para java.io.Writer no existe una diferencia práctica entre los dos métodos.



Append() puede tomar un CharSequence , mientras que write() toma un String .

Dado que String es una implementación de CharSequence , también puede pasar un String a append() . Pero también puedes pasar un StringBuilder o StringBuffer para append , que no puedes hacer con write() .


Writer.append(c) devuelve la instancia de Writer. Por lo tanto, puede encadenar múltiples llamadas para agregar, por ejemplo, out.append("Hello").append("World") ;