Du kannst eine Instanz eines FileWriters in mehreren Methoden verwenden, in dem du ihn als Feld der Klasse definierst und im Konstruktor oder am Anfang der Methode erstellst.
public class Output implements Closeable {
private BufferedWriter _writer = null;
public Output() {
_writer = newBufferedWriter(new
FileWriter("file.txt"));
}
public void Method1(String line) {
_writer.write(line, 0, line.length);
}
public void Method2(char sign) {
_writer.write((int) sign);
}
public void close() {
_writer.close();
}
}
Wie dir in dem Beispiel vielleich auffällt, musst du dich in diesem Fall selbst um das Schließen des File-Handles kümmern. Das wird normalerweise über das Interface Closeable oder AutoCloseable gelöst.
Du kannst es allerdings auch pro Methode machen. Ein Blick in die Doku zeigt, dass FileWriter ein Argument für das Anhängen an Dateien hat.
public static void WriteMethod(String line) {
try (BufferedWriter writer = new BufferedWriter(new FileWriter("file.txt", true))) {
writer.write(line, 0, line.length);
}
catch (IOException ex)
{
System.err.println("Error on writing file");
}
}
Hier wird der Writer bei jedem Methodenaufruf angelegt, die Zeile wird geschrieben, in dem sie an eine vorhandene Datei angehangen wird bzw. an eine neu erstellte, wenn keine Datei vorhanden war. Danach wird der Writer automatisch geschlossen und das Handle geschlossen.