我正在尝试计算存档中的文件数.我的代码计算所有实体(包括文件夹)的问题(例如,如果我有复杂的目录但只有一个文件,我无法验证我的存档).我使用方法大小().
import java.nio.file.Path;
import javax.enterprise.context.Dependent;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
import ru.cntp.eupp.roster.Notification;
import java.util.ArrayList;
import java.util.zip.ZipFile;
import java.util.List;
import java.util.Enumeration;
/*
* @author dfaevskii
*/
@Dependent
public class ZipValidator {
public void validate(Path pathToFile) throws IOException {
ZipFile zipFile = new ZipFile(pathToFile.toFile());
if (zipFile.size() != 1 && zipFile.size() != 2) {
throw new InvalidZipException("The number of files in archive is more than 2");
}
}
}
Run Code Online (Sandbox Code Playgroud) 我想确定我的档案是否是zip或rar.但是在我可以验证我的文件之前,我遇到运行时错误的问题.我想创建自定义通知:
public class ZipValidator {
public void validate(Path pathToFile) throws IOException {
try {
ZipFile zipFile = new ZipFile(pathToFile.toFile());
String zipname = zipFile.getName();
} catch (InvalidZipException e) {
throw new InvalidZipException("Not a zip file");
}
}
}
Run Code Online (Sandbox Code Playgroud)
目前我有运行时错误:
java.util.zip.ZipException:打开zip文件时出错