diff --git a/Parser.java b/Parser.java index d6d65d3..30bbdac 100644 --- a/Parser.java +++ b/Parser.java @@ -7,36 +7,44 @@ */ public class Parser { private File file; - public synchronized void setFile(File f) { - file = f; - } - public synchronized File getFile() { - return file; + + public Parser(File file) { + this.file = file; } + public String getContent() throws IOException { - FileInputStream i = new FileInputStream(file); - String output = ""; - int data; - while ((data = i.read()) > 0) { - output += (char) data; + StringBuilder output = new StringBuilder(); + + try (FileInputStream i = new FileInputStream(file)) { + int data; + while ((data = i.read()) > 0) { + output.append((char) data); + } } - return output; + + return output.toString(); } + public String getContentWithoutUnicode() throws IOException { - FileInputStream i = new FileInputStream(file); - String output = ""; - int data; - while ((data = i.read()) > 0) { - if (data < 0x80) { - output += (char) data; + StringBuilder output = new StringBuilder(); + + try (FileInputStream i = new FileInputStream(file)) { + int data; + while ((data = i.read()) > 0) { + if (data < 0x80) { + output.append((char) data); + } } } - return output; + + return output.toString(); } + public void saveContent(String content) throws IOException { - FileOutputStream o = new FileOutputStream(file); - for (int i = 0; i < content.length(); i += 1) { - o.write(content.charAt(i)); + try (FileOutputStream o = new FileOutputStream(file)) { + for (int i = 0; i < content.length(); i += 1) { + o.write(content.charAt(i)); + } } } }