System.out.println("要解压的文件是:" + zfile.getName());
Enumeration zList = zfile.entries();// 得到zip包里的所有元素
ZipEntry ze = null;
byte[] buf = new byte[1024];
while (zList.hasMoreElements()) {
ze = (ZipEntry) zList.nextElement();
if (ze.isDirectory()) {
System.out.println("打开zip文件里的文件夹:" + ze.getName()
+ " skipped...");
continue;
}
System.out.println("zip包里的文件: " + ze.getName() + "\t" + "大小为:"
+ ze.getSize() + "KB");
// 以ZipEntry为参数得到一个InputStream,并写到OutputStream中
OutputStream outputStream = new BufferedOutputStream(
new FileOutputStream(getRealFileName(toDisk, ze.getName())));
InputStream inputStream = new BufferedInputStream(zfile
.getInputStream(ze));
int readLen = 0;
while ((readLen = inputStream.read(buf, 0, 1024)) != -1) {
outputStream.write(buf, 0, readLen);
}
inputStream.close();
outputStream.close();
System.out.println("已经解压出:" + ze.getName());
}
zfile.close();
}
*//**
*
* 给定根目录,返回另一个文件名的相对路径,用于zip文件中的路径.
*
* @param baseDir
* java.lang.String 根目录
*
* @param realFileName
* java.io.File 实际的文件名
*
* @return 相对文件名
*//*
private static String getAbsFileName(String baseDir, File realFileName) {
File real = realFileName;
File base = new File(baseDir);
String ret = real.getName();
while (true) {
real = real.getParentFile();
if (real == null)
break;
if (real.equals(base))
break;
else
ret = real.getName() + "/" + ret;
}
return ret;
}
*//**
*
* 取得指定目录下的所有文件列表,包括子目录.
*
* @param baseDir
* File 指定的目录
*
* @return 包含java.io.File的List
*//*
private static List
List
File[] tmp = baseDir.listFiles();
for (int i = 0; i < tmp.length; i++) {
if (tmp.isFile())
ret.add(tmp);
if (tmp.isDirectory())
}
return ret;
}
*//**
*
* 给定根目录,返回一个相对路径所对应的实际文件名.
*
* @param zippath
* 指定根目录
*
* @param absFileName
* 相对路径名,来自于ZipEntry中的name
*
* @return java.io.File 实际的文件
*//*
private static File getRealFileName(String zippath, String absFileName) {
String[] dirs = absFileName.split("/", absFileName.length());
File ret = new File(zippath);// 创建文件对象
if (dirs.length > 1) {
for (int i = 0; i < dirs.length - 1; i++) {
ret = new File(ret, dirs);
}
}
if (!ret.exists()) {// 检测文件是否存在
ret.mkdirs();// 创建此抽象路径名指定的目录
}
ret = new File(ret, dirs[dirs.length - 1]);// 根据ret 抽象路径名和child
// 路径名字符串创建一个新File 实例
return ret;
}
*/
/**
*
* 取得ftp服务器上某个目录下的所有文件名
*
* @param ftp
* , FtpClient类实例; folderName,服务器的文件夹名
*
* @throws Exception
*
* @return list 某目录下文件名列表
**/
private static List getServerFileNameList(FtpClient ftp, String folderName)
throws Exception {
BufferedReader dr = new BufferedReader(new InputStreamReader(ftp
.nameList(folderName)));
List
String s;
while ((s = dr.readLine()) != null) {
list.add(s);
}
return list;
}
/**
*
* 得到已经下载的目录下的所有文件名的数组
*
* @param localPath
* 本地的下载文件保存路径
*
* @return 该路径下所有tb文件名
*
* **/
private static String[] getLocalFileNameArray(String localPath) {
File diskFile = new File(localPath);
if (diskFile != null) {
String[] fileNameList = diskFile.list();
return fileNameList;
} else {
return null;