X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Finspector%2Fjava%2Fmethods%2FJavaFile.java;h=70d5dc2f30b267817b69fe6948838e3a145f6188;hb=b2f519fd934cd49afbb5cfc88b3d2be396af0afa;hp=9ec86c30748b4fa4a8f340fd6e1a1361399ea2d7;hpb=d6b9aa36eec691e17ad10eaa814308b50e44255a;p=javainspect.git diff --git a/src/main/java/eu/svjatoslav/inspector/java/methods/JavaFile.java b/src/main/java/eu/svjatoslav/inspector/java/methods/JavaFile.java index 9ec86c3..70d5dc2 100755 --- a/src/main/java/eu/svjatoslav/inspector/java/methods/JavaFile.java +++ b/src/main/java/eu/svjatoslav/inspector/java/methods/JavaFile.java @@ -1,7 +1,7 @@ /* * JavaInspect - Utility to visualize java software - * Copyright (C) 2013-2017, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu - * + * Copyright (C) 2013-2020, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu + * * This program is free software; you can redistribute it and/or * modify it under the terms of version 3 of the GNU Lesser General Public License * or later as published by the Free Software Foundation. @@ -13,20 +13,22 @@ import eu.svjatoslav.commons.string.tokenizer.InvalidSyntaxException; import eu.svjatoslav.commons.string.tokenizer.Tokenizer; import eu.svjatoslav.commons.string.tokenizer.TokenizerMatch; -import java.io.*; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.List; +import static eu.svjatoslav.commons.file.IOHelper.getFileContentsAsString; import static eu.svjatoslav.commons.string.tokenizer.Terminator.TerminationStrategy.DROP; import static eu.svjatoslav.commons.string.tokenizer.Terminator.TerminationStrategy.PRESERVE; public class JavaFile { public static final String UTF_8 = "UTF-8"; - private final List imports = new ArrayList(); + public final List classes = new ArrayList<>(); + String contents; + private final List imports = new ArrayList<>(); private final File file; - public List classes = new ArrayList(); - StringBuffer contents = new StringBuffer(); private String packageName; public JavaFile(final File file) throws IOException, InvalidSyntaxException { @@ -37,12 +39,12 @@ public class JavaFile { public void parse() throws IOException, InvalidSyntaxException { System.out.println("java file: " + file); - readFile(); + contents = getFileContentsAsString(file); - final Tokenizer tokenizer = new Tokenizer(contents.toString()); + final Tokenizer tokenizer = new Tokenizer(contents); // empty space - tokenizer.addTerminator(" ", DROP); + tokenizer.addTerminator(" ", DROP); tokenizer.addTerminator("\t", DROP); tokenizer.addTerminator("\n", DROP); @@ -154,25 +156,6 @@ public class JavaFile { tokenizer.expectAndConsumeNextToken(";"); } - private void readFile() throws IOException { - InputStreamReader inputStream = new InputStreamReader(new FileInputStream(file), UTF_8); - - final BufferedReader bufferedReader = new BufferedReader(inputStream); - - while (true) { - final String line = bufferedReader.readLine(); - - if (line == null) - break; - - contents.append(line); - contents.append("\n"); - } - - bufferedReader.close(); - inputStream.close(); - } - public void skipUntilSemicolon(final Tokenizer tokenizer) throws InvalidSyntaxException { while (true) { final TokenizerMatch token = tokenizer.getNextToken();