理想情况下,我只想阅读 zip 存档并将每个文件存储在准备编译的 Iterable 中。(假设 zip 仅包含 .java 文件)
像这样的东西会很好,但这不起作用,因为我无法获取 zip 中每个文件的路径。
private ArrayList<String> javaFilePaths = new ArrayList<String>();
Iterable<? extends JavaFileObject> = fileManager.getJavaFileObjectsFromStrings(javaFilePaths);
是否可以让每个元素ArrayList
成为存档中文件的路径?到目前为止,我只能通过 zip 存档并获取所有无用的文件名,因为当我调用getJavaFileObjectsFromStrings(javaFilePaths);
它时,它不会是文件的完整路径。也许我需要先将每个文件的内容存储在一个新的位置JavaFileObject
?真的不确定解决这个问题的最佳方法......
有人可以帮忙解决这个问题,事实证明这非常棘手!
UPDATE:
考虑将 zip 存档中的每个文件存储File
为类型数组中的对象File
然后调用getJavaFileObjectsFromFiles(arrayOfFiles);
方法。
解决方案,想法?