Das ist nicht so sehr das, was ich ein minimales Beispiel nennen würde.
Der generelle Tipp wäre da an erster Stelle, dass Du nicht alles in eine Klasse zwängst sondern Dinge besser unterteilst. Bei grafischen Oberflächen bietet sich z.B. eine Trennung in Model, View und Controller. Das kannst Du unter MVC Pattern im Netz auch im Detail nachlesen.
Davon unabhängig fallen diverse Dinge auf:
A) Der wichtigste Punkt, der nicht beachtet wird, hängt mit dem Interface AutoClosable zusammen. Es gibt Klassen, die dies implementieren, weil es notwendig ist, dass am Ende immer ein close() aufgerufen wird.
Bei einer Datei, die geöffnet wird, kann das problematisch sein, denn je nach Betriebssystem und Umgang hast Du da dann einen Zugriffsfehler (Windows lockt Dateien) und bei anderen Systemen (Linux, Mac) kann das zu unerwarteten Ergebnissen führen.
Das bedeutet also, dass ein Scanner auf einer Datei auch geschlossen werden muss. Und bei Streams / Reader/Writer und so gilt das Gleiche.
Da das Schließen immer erfolgen soll - auch wenn z.B. eine Exception auftritt, muss dies entweder in ein try / finally oder man nutzt das try with resources welches Java bietet:
https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html
Da ist dann kein close() Aufruf mehr notwendig und der Java Compiler baut dies für einen explizit ein.
B) Und in Java den Pfad statt mit Backslash ruhig mit / aufbauen - dann läuft das auch auf nicht Windows Systemen.
C) Dinge die Du an vielen Stellen brauchst (z.B. String Literale) einmal als Konstante definieren - dann muss man da bei Anpassungen nicht an vielen Stellen ändern (Ich durfte da an 9 Stellen die Datei mit Pfad anpassen für Tests).
Ich konnte das von Dir beschriebene Problem nicht bei mir feststellen. Da Du Windows nutzt wäre meine Vermutung, dass Du auch eine Exception bekommen haben musst, da die Datei nicht geschlossen wurde (An mindestens einer Stelle).
Das wären so die Hinweise, die ich so geben kann - leider noch sehr allgemein, da ich das Problem im Detail leider immer noch nicht sehe.