Java "Formatter" frente a "FileOutputStream": se desea una explicación muy simple de cuándo usar qué

Estoy aprendiendo los conceptos básicos de Java IO y no puedo encontrar lo que creo que se trataría en las discusiones básicas de IO en Java: sin entrar en sutilezas o complejidades (a menos que sea necesario), ¿cuál es la explicación básica de cuándo elegiría uno vs. .cuando elegiría el otro para la salida a un archivo (Formatter vs. FileOutputStream)?

Supongo que la misma explicación será válida para Scanner vs. FileInputStream.

preguntado el 16 de mayo de 11 a las 19:05

2 Respuestas

  • Usas un OutputStream (posiblemente un FileOutputStream) para escribir bytes.
  • Usas un Formatter para escribir texto formateado.

El primero es muy eficiente pero hay que saber qué bytes escribir. El segundo le brinda funciones de formato flexibles, pero está limitado en lo que puede escribir y es probable que sea menos eficiente que el primero.

contestado el 16 de mayo de 11 a las 23:05

Los constructores Formatter y Scanner que toman especificaciones de archivo como argumentos son solo una conveniencia para combinar una salida de archivo o flujo de entrada con un Formatter o Scanner que opera en un flujo. Úselos siempre que vaya a envolver su transmisión en un formateador o escáner de todos modos y no tenga una necesidad separada para el objeto de transmisión.

contestado el 16 de mayo de 11 a las 23:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.