Ist es ok für das Schreiben von verschiedenen Dateien gleiche Datei Schriftsteller zu verwenden

StackOverflow https://stackoverflow.com/questions/1075278

  •  21-08-2019
  •  | 
  •  

Frage

Es gibt eine Schleife, wo wir bestimmte Daten. In Abhängigkeit von den Daten, muss Datei Schreiber auf verschiedene Dateien schreiben.

Ist es eine gute Praxis?

War es hilfreich?

Lösung

Da es nicht möglich ist, ein FileWriter Objekt zu haben, um verschiedene Dateien zu schreiben, würde ich sagen, es ist nicht gut in Form.

Haben Sie bedeuten, dass Sie eine FileWriter Variable haben, dass Verweise andere FileWriter Objekte in eine andere Datei zu schreiben jeweils?

Das hängt vom Anwendungsfall. Wenn sie alle schreiben ähnliche Daten zu Dateien, die ähnlichen Bedeutungen haben, dann könnte es in Ordnung sein.

Aber dann wieder. Wenn Ihre Methode, um mehr als eine Datei schreibt, dann müssen Sie wahrscheinlich, es trotzdem Refactoring

Andere Tipps

Wenn Sie java.io.FileWriter beziehen, dann ist die Antwort, dass Sie können nicht . Eine FileWriter Instanz wird in die Datei gebunden, dass Sie es mit initialisiert.

Wenn Sie sich über Ihre eigene Datei Schriftsteller Klasse sprechen, dann ist die Antwort eher subjektiv, da es sich ganz auf Ihre Situation hängt - die Sie erarbeiten müssen. Aber in der Regel, wenn Sie Autoren offen zu halten denken, dann die Möglichkeit berücksichtigt, dass Sie Daten verlieren, wenn Sie nicht schließen Sie die Datei nach dem Schreiben, sondern hängen an die Instanz an.

Sie erhalten eine FileWriter pro Datei haben müssen. So haben Sie eine Array / Liste / eine Art Sammlung von FileWriters. Kein Problem, solange:

  1. verwalten Sie Schließung aller dieser richtig (darüber nachdenken, was passiert, wenn eine Ausnahme ausgelöst wird - Sie wahrscheinlich alle FileWriters in einem finally {} -Block oder ähnliches schließen sollte)
  2. Betriebssysteme offen Grenzen für die maximale Anzahl von Dateien. Ich vermute, aus Ihrer Frage, dass Sie dieses Problem nicht auftreten wird, aber es lohnt sich für Informationen über die maximale Anzahl von Dateideskriptoren pro Prozess für Ihre speziellen OS suchen.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top