有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在Java中,如何以随机顺序迭代zip文件中的条目?

我正在做一个机器学习项目,我有10000个培训文件存储在一个zip文件中。我想在zip文件中的每个文件上训练我的模型,我听说如果在完整的数据集上训练多次,最好将训练数据的顺序随机化。这个项目是用Java完成的

所以我想知道是否有可能在Java中以随机顺序迭代ZipFile中的条目?下面是我提到的API:https://docs.oracle.com/javase/7/docs/api/java/util/zip/ZipFile.html


共 (2) 个答案

  1. # 1 楼答案

    使用^{}迭代zip文件,并将zip条目添加到^{}

    通过调用^{}将该列表随机化

    现在,您可以简单地迭代随机列表并调用^{}

  2. # 2 楼答案

    您可以使用以下内容作为起点:

            ZipFile f = new ZipFile("path_to_file");
            Enumeration<ZipEntry> entries = (Enumeration<ZipEntry>) f.entries();
            List<ZipEntry> entryList = new ArrayList<ZipEntry>();
            while(entries.hasMoreElements()){
                ZipEntry enrty = entries.nextElement();
                entryList.add(enrty);
            }
            Collections.shuffle(entryList);
            for(ZipEntry e:entryList){
                System.out.println(e.getName());
            }