Pregunta

Hay un bucle donde obtenemos ciertos datos. En función de los datos, escritor archivo necesita escribir en archivos diferentes.

¿Es una buena práctica?

¿Fue útil?

Solución

Ya que no es posible tener un objeto FileWriter escribir en diferentes archivos, yo diría que no es una buena forma.

Quiso decir que usted tiene una variable que <=> referencias diferente <=> objetos que escriben en un archivo diferente cada uno?

Eso depende del caso de uso. Si todos ellos están escribiendo datos similares a los archivos que tienen significados similares, entonces puede estar bien.

Pero, de nuevo:. Si su método escribe a más de un archivo, entonces es probable que tenga que refactorizar todos modos

Otros consejos

Si usted se refiere a java.io.FileWriter, entonces la respuesta es que no se puede . Un ejemplo FileWriter está ligado al archivo que ha inicializado con.

Si estamos hablando acerca de su propia clase de escritor de archivos, entonces la respuesta es más subjetiva ya que depende enteramente de su situación - que tendrá que dar más detalles. Pero, en general, si usted está pensando en mantener abierta escritores, y luego considerar la posibilidad de que puede perder datos si no se cierra el archivo después de escribir pero en lugar de colgar en la instancia.

Usted tiene que tener un FileWriter por archivo. Por lo que tiene una matriz / lista / algún tipo de colección de FileWriters. No es un problema, siempre y cuando:

  1. a gestionar el cierre de todos ellos adecuadamente (piensa en lo que sucede cuando una excepción es lanzada - probablemente debería cerrar todas FileWriters en un bloque finally {} o similar)
  2. Los sistemas operativos tendrán límites en el número máximo de archivos abiertos. Sospecho que por su pregunta que usted no encontrará este problema, pero vale la pena buscar información sobre el número máximo de descriptores de archivo por proceso para su sistema operativo en particular.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top