From 6dd4036bd828dac87b9f63d0a58693b30c46faed Mon Sep 17 00:00:00 2001 From: Elias Haugsbakk Date: Fri, 18 Sep 2026 19:10:54 +0200 Subject: split into separate packages/classes --- .../kompilator/IO/FileReaderWriter.java | 39 ++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 src/main/java/no/eliashaugsbakk/kompilator/IO/FileReaderWriter.java (limited to 'src/main/java/no/eliashaugsbakk/kompilator/IO/FileReaderWriter.java') diff --git a/src/main/java/no/eliashaugsbakk/kompilator/IO/FileReaderWriter.java b/src/main/java/no/eliashaugsbakk/kompilator/IO/FileReaderWriter.java new file mode 100644 index 0000000..b25b719 --- /dev/null +++ b/src/main/java/no/eliashaugsbakk/kompilator/IO/FileReaderWriter.java @@ -0,0 +1,39 @@ +package no.eliashaugsbakk.kompilator.IO; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; + +public class FileReaderWriter { + + public File readFile(String inputFilePath) throws FileReaderWriterException { + Path path = Path.of(inputFilePath); + + String rawName = path.getFileName().toString(); + int dotIndex = rawName.lastIndexOf('.'); + String fileName = (dotIndex == -1) ? rawName : rawName.substring(0, dotIndex); + + try { + String fileBody = Files.readString(path); + return new File(fileName, fileBody); + } catch (IOException e) { + throw new FileReaderWriterException("Failed to read file: " + inputFilePath, e); + } + } + + public void writeFile(File file) throws FileReaderWriterException { + try { + Files.writeString(Path.of(file.fileName()), file.fileBody()); + } catch (IOException e) { + throw new FileReaderWriterException("Failed to write file: " + file.fileName(), e); + } + } + + public void deleteFile(String filePath) throws FileReaderWriterException { + try { + Files.delete(Path.of(filePath)); + } catch (IOException e) { + throw new FileReaderWriterException("Could not delete file: " + filePath, e); + } + } +} -- cgit v1.2.3