From 55883e0f8b91577540337804d0bc11c4b8c74f18 Mon Sep 17 00:00:00 2001 From: GreenBloodDev Date: Fri, 8 Dec 2023 00:05:30 +0100 Subject: [PATCH] add file reader --- .gitignore | 2 +- src/main/java/pl/nightdev701/OpenAPI.java | 9 ++++ .../pl/nightdev701/io/ScorpionFileReader.java | 54 +++++++++++++++++++ 3 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 src/main/java/pl/nightdev701/io/ScorpionFileReader.java diff --git a/.gitignore b/.gitignore index a94fe95..0af6326 100644 --- a/.gitignore +++ b/.gitignore @@ -42,4 +42,4 @@ bin/ /API /logs -/src/main/java/test \ No newline at end of file +/src/main/java/test diff --git a/src/main/java/pl/nightdev701/OpenAPI.java b/src/main/java/pl/nightdev701/OpenAPI.java index d2824c0..5e154a7 100644 --- a/src/main/java/pl/nightdev701/OpenAPI.java +++ b/src/main/java/pl/nightdev701/OpenAPI.java @@ -14,6 +14,7 @@ import pl.nightdev701.database.DatabaseConnector; import pl.nightdev701.database.formular.DatabaseFormular; import pl.nightdev701.database.type.DatabaseType; +import pl.nightdev701.io.ScorpionFileReader; import pl.nightdev701.key.UniqueValueKey; import pl.nightdev701.key.ValueKey; import pl.nightdev701.logger.AbstractLogger; @@ -64,6 +65,14 @@ public static DatabaseConnector getDatabaseManager(DatabaseFormular formular, Da return getDatabaseManager(formular, type, port, new DefaultLogger()); } + public static ScorpionFileReader getFileReader(String path, AbstractLogger logger){ + return new ScorpionFileReader(path, logger); + } + + public static ScorpionFileReader getFileReader(String path){ + return getFileReader(path, new DefaultLogger()); + } + /** * manage database connections and command easy with logger implementation * diff --git a/src/main/java/pl/nightdev701/io/ScorpionFileReader.java b/src/main/java/pl/nightdev701/io/ScorpionFileReader.java new file mode 100644 index 0000000..be1cffd --- /dev/null +++ b/src/main/java/pl/nightdev701/io/ScorpionFileReader.java @@ -0,0 +1,54 @@ +package pl.nightdev701.io; + +import pl.nightdev701.logger.AbstractLogger; + +import java.io.BufferedReader; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.IOException; +import java.util.logging.Level; + +public class ScorpionFileReader { + + private BufferedReader bufferedReader; + private String currentLine; + private AbstractLogger logger; + + public ScorpionFileReader(String filePath, AbstractLogger logger) { + + this.logger = logger; + + try { + FileReader fileReader = new FileReader(filePath); + bufferedReader = new BufferedReader(fileReader); + currentLine = bufferedReader.readLine(); // Lese die erste Zeile + } catch (FileNotFoundException e) { + logger.log(Level.WARNING,"Die Datei wurde nicht gefunden: " + e.getMessage()); + } catch (IOException e) { + logger.log(Level.WARNING,"Fehler beim Lesen der Datei: " + e.getMessage()); + } + } + + public String getCurrentLine() { + return currentLine; + } + + public void readNextLine() { + try { + currentLine = bufferedReader.readLine(); // Gehe zur nächsten Zeile + } catch (IOException e) { + logger.log(Level.WARNING,"Fehler beim Lesen der nächsten Zeile: " + e.getMessage()); + } + } + + public void close() { + try { + if (bufferedReader != null) { + bufferedReader.close(); + } + } catch (IOException e) { + logger.log(Level.WARNING,"Fehler beim Schließen des Readers: " + e.getMessage()); + } + } + +}