diff options
author | chris.sutcliffe <ctd.sutcliffe@gmail.com> | 2021-11-28 23:21:57 +0000 |
---|---|---|
committer | chris.sutcliffe <ctd.sutcliffe@gmail.com> | 2021-11-28 23:21:57 +0000 |
commit | c78d48e6bf79a01bfe1d43ebafbfedd1a64129cd (patch) | |
tree | 5257ade82cd23791f53cfc1511aa574006a6431f /src | |
parent | 8badb0fab61a23dd81466c3f5f8aadd77bf952e3 (diff) | |
download | esotericFORTRAN-c78d48e6bf79a01bfe1d43ebafbfedd1a64129cd.tar.gz esotericFORTRAN-c78d48e6bf79a01bfe1d43ebafbfedd1a64129cd.zip |
add util class for reading files and change filereading method
Diffstat (limited to 'src')
-rw-r--r-- | src/Compiler/Language.java | 23 | ||||
-rw-r--r-- | src/Compiler/Utils.java | 39 |
2 files changed, 55 insertions, 7 deletions
diff --git a/src/Compiler/Language.java b/src/Compiler/Language.java index 1d95555..486e47e 100644 --- a/src/Compiler/Language.java +++ b/src/Compiler/Language.java @@ -125,15 +125,24 @@ public class Language { System.out.println("ERROR: "+token.text); System.out.println(message); } - - static String getHelpText() { + + private static String getHelpText(){ + String helpText = ""; try { - byte[] bytes = Base64.getDecoder().decode(helpb64); - return new String(bytes); - } catch (Exception e) { - e.printStackTrace(); - return "fjakdfjsd"; + helpText = Utils.readFile("Compiler/helpfile.txt"); + } + // Catch any IO exceptions + catch (IOException e) { + System.out.println(e); } + + // Catch anything else + catch (Exception e) { + System.out.println(e); + } + + return helpText; + } static String helpb64 = "dXNhZ2U6IExhbmd1YWdlIFstaF0gW3NvdXJjZWZpbGVdIFstbyBvdXRwdXQgcGF0aF0gWy1jXSBbLXBjXSBbLWVdCgpwb3NpdGlvbmFsIGFyZ3VtZW50czoKICAgIGZpbGUgICAgICAgICAgICAgICAgICAgICAgICBwYXRoIHRvIGEgRk9SVFJBTi1saWtlIGZpbGUgdG8gY29tcGlsZS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgb21taXR0ZWQsIGdvIHRvIGludGVyYWN0aXZlIG1vZGUuCgpuYW1lZCBhcmd1bWVudHM6CiAgICAtbyAtLW91dCBQQVRIICAgICAgICAgICAgICAgcGF0aCBhbmQgbmFtZSB0byBwcm9kdWNlIHRoZSBvdXRwdXQuIGRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdCBpbmNsdWRlIGEgZmlsZSBleHRlbnNpb24uIGlmIHByZWNlZWRpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0b3JpZXMgZG8gbm90IGV4aXN0LCB0aGV5IHdpbGwgYmUgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZWQuCgpmbGFnczoKICAgIC1oIC0taGVscCAgICAgICAgICAgICAgICAgICBwcmludCB0aGlzIG1lc3NhZ2UgYW5kIGV4aXQuCiAgICAtYyAtLWtlZXAtYy1maWxlICAgICAgICAgICAgdGhlIGMgcHJvZ3JhbSBwcm9kdWNlZCBpbiB0aGUgY29tcGlsYXRpb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2VzcyB3aWxsIG5vdCBiZSBkZWxldGVkLgogICAgLXBjIC0tcHJpbnQtYyAgICAgICAgICAgICAgIHRoZSBjIHByb2dyYW0gd2lsbCBiZSBwcmludGVkIHRvIHN0ZG91dAogICAgLWUgLS1leGVjdXRlICAgICAgICAgICAgICAgIHRoZSBwcm9kdWNlZCBiaW5hcnkgd2lsbCBiZSBleGVjdXRlZCBhcyBzb29uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzIGNvbXBpbGF0aW9uIGlzIGZpbmlzaGVkLgo="; diff --git a/src/Compiler/Utils.java b/src/Compiler/Utils.java new file mode 100644 index 0000000..f9bd41c --- /dev/null +++ b/src/Compiler/Utils.java @@ -0,0 +1,39 @@ +/** + * Simple util class to contain methods commonly used accross Java files + */ +package Compiler; + +import java.io.*; +import java.nio.file.Files; + +public class Utils { + // Adapted from here for now + // https://www.geeksforgeeks.org/different-ways-reading-text-file-java/ + + public static String readFile(String path) throws Exception{ + + File file = new File(path); + BufferedReader br = new BufferedReader(new FileReader(file)); + + // Stringbuilder is mutable + StringBuilder readFile = new StringBuilder(); + + String line; + while ((line = br.readLine()) != null) + //System.out.println(line); + readFile = readFile.append(line + "\n"); + + return readFile.toString(); + } + + public static void main(String[] args) throws Exception { + String currentPath = new java.io.File(".").getCanonicalPath(); + System.out.println("Current dir:" + currentPath); + + String helpfile = readFile("Compiler/helpfile.txt"); + System.out.println(helpfile); + + } + + +} |