如何在java中持久存储列表的内容

时间:2014-03-26 10:09:40

标签: java persistence

在我的应用程序中,我有一组文件,其中包含一些信息。现在我必须要处理文件,在那些重复的文件中我必须跳过它们才能这样做我用过文件CRC检查哪些文件是处理的,哪些不是,所以现在在重复检查的情况下,我必须将文件CRC存储到某些地方,因为当今天的处理结束时,我将不得不再次处理该文件。然后,如果某些文件与今天重复,则应跳过这些文件。所以现在我在我的代码中所做的是......

               filesSize += fileInf.srcFileSize;
                // if file if already polled and under processing or in execution queue
                if (filesInQueue.get(fileInf.srcFileCRC) != null) {
                    System.out.println("Skipping queued file: " + fileInf.srcFileName);
                    ifCRCExist.add(fileInf.srcFileCRC);

fileInf.srcFileCRC,是我已经添加到列表中所需的fileCRC现在我已经非常持久地存储了一些列表,我可以用它来检查记录。我想我现在很清楚..请任何一个帮帮我......

2 个答案:

答案 0 :(得分:1)

Java中的每个实例本质上都是瞬态的。你在寻找Singleton吗?您可以将ArrayList作为某些Class的静态字段提供。例如:

public class InMemoryStore {
    public static final List<String> MY_SINGLETON_LIST;

    static {
        MY_SINGLETON_LIST = ...
    }
}

或者你也可以通过用Spring创建一个bean来实现。

答案 1 :(得分:0)

如果您希望非持久存储意味着不在DB或XML中,那么请创建一个类 并创建一个静态列表成员。现在,您只需初始化一次就可以多次使用它。就像 Singleton 模式一样。