From 99fe1f30c4c1b17a4b550455d1e19e6db2ff7970 Mon Sep 17 00:00:00 2001 From: Vickvick2002 Date: Sun, 5 Jan 2025 11:01:43 +0100 Subject: [PATCH] =?UTF-8?q?loadBoardAsList=20Methode=20ver=C3=A4ndert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/PR2/HitoriSpiel/GUI/BoardLoader.java | 28 ++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/Hitori/src/main/java/PR2/HitoriSpiel/GUI/BoardLoader.java b/Hitori/src/main/java/PR2/HitoriSpiel/GUI/BoardLoader.java index 980c5c2..f52c56e 100644 --- a/Hitori/src/main/java/PR2/HitoriSpiel/GUI/BoardLoader.java +++ b/Hitori/src/main/java/PR2/HitoriSpiel/GUI/BoardLoader.java @@ -24,22 +24,24 @@ public class BoardLoader { } } - public static List loadBoardsAsList() { + public static List loadBoardsAsList() { List boardFiles = new ArrayList<>(); try { - // Lade das Verzeichnis aus dem Klassenpfad - File directory = new File(BoardLoader.class.getResource("/persistent/Hitori_Spielfelder/").toURI()); - - // Überprüfen, ob das Verzeichnis existiert und es sich um ein Verzeichnis handelt - if (directory.exists() && directory.isDirectory()) { - for (File file : directory.listFiles()) { - if (file.isFile() && file.getName().endsWith(".csv")) { - boardFiles.add(file.getName()); - } - } - } else { - throw new IOException("Das Verzeichnis existiert nicht oder ist kein Verzeichnis."); + // Lade alle Ressourcen in "persistent/Hitori_Spielfelder/" + InputStream resourceStream = BoardLoader.class.getResourceAsStream("/persistent/Hitori_Spielfelder/"); + if (resourceStream == null) { + throw new IOException("Das Verzeichnis 'persistent/Hitori_Spielfelder/' wurde nicht gefunden."); } + + // Prüfen, ob die Dateien im Ressourcen-Ordner vorhanden sind + BufferedReader reader = new BufferedReader(new InputStreamReader(resourceStream)); + String line; + while ((line = reader.readLine()) != null) { + if (line.endsWith(".csv")) { + boardFiles.add(line); + } + } + } catch (Exception e) { System.err.println("Fehler beim Laden der Spielfelder: " + e.getMessage()); }