我想获取所有的.java
文件并将它们放入一个文件ArrayList
中。我已经使用ZipInputStream
和ZipEntry
来遍历文件,但不知道如何从ZipEntry
中获取文件。
public List<File> getJavaFiles(MultipartFile file){
List<File> javaFiles = new ArrayList<File>();
ZipEntry zipEntry;
log.info("getJavaFiles");
try {
ZipInputStream zip;
try {
zip = new ZipInputStream( file.getInputStream());
while((zipEntry = zip.getNextEntry()) != null){
if(zipEntry.getName().endsWith(".java")){
log.info(zipEntry.getName());
//How do I put the java file in my array list
}
}
zip.close();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return javaFiles;
}
List<File>
?它的目的是什么? - PshemoFile
描述的是文件的位置,例如 zip 文件,而不是它的条目。也许你想要使用 URI。请访问 "Get a File or URI object for a file inside an archive with Java?" 和 "Read directly a file within a Zip file - Java" 获取更多信息。 - Pshemo