summaryrefslogtreecommitdiff
path: root/src/main/java/no/eliashaugsbakk/kompilator/IO/FileReaderWriter.java
diff options
context:
space:
mode:
authorElias Haugsbakk <[email protected]>2026-09-18 19:10:54 +0200
committerElias Haugsbakk <[email protected]>2026-09-19 01:59:23 +0200
commit6dd4036bd828dac87b9f63d0a58693b30c46faed (patch)
treec194ad43c1d9b1a332e28659863b88f463a07a9c /src/main/java/no/eliashaugsbakk/kompilator/IO/FileReaderWriter.java
parent24f5104f56cfc67cf1e89da3e5913b2954acc36d (diff)
split into separate packages/classes
Diffstat (limited to 'src/main/java/no/eliashaugsbakk/kompilator/IO/FileReaderWriter.java')
-rw-r--r--src/main/java/no/eliashaugsbakk/kompilator/IO/FileReaderWriter.java39
1 files changed, 39 insertions, 0 deletions
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);
+ }
+ }
+}