Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将已处理的文件作为一种库保存?_Java - Fatal编程技术网

Java 如何将已处理的文件作为一种库保存?

Java 如何将已处理的文件作为一种库保存?,java,Java,很抱歉标题混乱,但这是我的澄清 我正在制作一个程序,读取文本文件并将其保存在数组中。还有一个过程,每次创建新对象时都需要读取文件。 (文件)->(一个类中的数组)->(对象是使用该类中的数组作为参数创建的,或者某些方法涉及数组的类型) 问题是,是否有任何方法使得每次都不必读取文件?比如将数组存储为通用常量或类似的东西? thx这不是一个特别好的设计,但它应该会给你一些想法 public class CachedFile { private static String conte

很抱歉标题混乱,但这是我的澄清

我正在制作一个程序,读取文本文件并将其保存在数组中。还有一个过程,每次创建新对象时都需要读取文件。 (文件)->(一个类中的数组)->(对象是使用该类中的数组作为参数创建的,或者某些方法涉及数组的类型)

问题是,是否有任何方法使得每次都不必读取文件?比如将数组存储为通用常量或类似的东西?
thx

这不是一个特别好的设计,但它应该会给你一些想法

  public class CachedFile {

      private static String contents;

      public static void load(File file) throws IOException {
          StringBuilder sb = new StringBuilder();
          try (Reader r = new BufferedReader(new FileReader(file))) {
              int ch;
              while ((ch = r.read()) != -1) {
                  contents.append((char) ch);
          }
          contents = sb.toString();
      }

      public static String getContents() { return contents; }

  }

只需将第一次读入的数据保存在全局静态变量中。'universal constant'->Make它或访问它的函数
public static
?有点让我想起。。。。然后,您可以在需要时将
getContents
更改为调用
load
,如果这在问题的上下文中有意义的话。