我想获取所有.java文件并将它们放在一个ArrayList文件中。我已经用 aZipInputStream然后 aZipEntry来遍历文件,但无法理解如何从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;
}
Run Code Online (Sandbox Code Playgroud)
这是可以读取和打印 zip 文件中的 .java 文件的代码:
您还可以使用此代码获取文件及其内容。
import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
import java.util.Enumeration;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import org.apache.commons.io.IOUtils;
public class test {
public static void main(String[] args) throws IOException {
ZipFile zipFile = new ZipFile("test.zip");
Enumeration<? extends ZipEntry> entries = zipFile.entries();
System.out.println(entries);
while(entries.hasMoreElements()){
ZipEntry entry = entries.nextElement();
System.out.println(entry.getName());
if(entry.getName().contains("java")){
InputStream stream = zipFile.getInputStream(entry);
System.out.println(IOUtils.toString(stream, StandardCharsets.UTF_8));
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3005 次 |
| 最近记录: |