У меня есть Java-программа, как показано ниже, для архивирования папки в целом.
public static void zipDir(String dir2zip, ZipOutputStream zos)
{
try
{
File zipDir= new File(dir2zip);
String[] dirList = zipDir.list();
byte[] readBuffer = new byte[2156];
int bytesIn = 0;
for(int i=0; i<dirList.length; i++)
{
File f = new File(zipDir, dirList[i]);
if(f.isDirectory())
{
String filePath = f.getPath();
zipDir(filePath, zos);
continue;
}
FileInputStream fis = new FileInputStream(f);
ZipEntry anEntry = new ZipEntry(f.getPath());
zos.putNextEntry(anEntry);
while((bytesIn = fis.read(readBuffer)) != -1)
{
zos.write(readBuffer, 0, bytesIn);
}
fis.close();
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
public static void main(){
String date=new java.text.SimpleDateFormat("MM-dd-yyyy").format(new java.util.Date());
ZipOutputStream zos = new ZipOutputStream(new FileOutputStream("Output/" + date + "_RB" + ".zip"));
zipDir("Output/" + date + "_RB", zos);
zos.close();
}
Мой запрос здесь.Целевая папка (+ date + _RB) для архивации находится внутри папки с именем Output.После успешного архивирования, когда я извлекаю заархивированный файл, я нахожу папку «Вывод», внутри которой находится (+ date + _RB) необходимая папка.Мне не нужна эта папка Output после распаковки zip-файла, скорее она должна напрямую извлекать только нужную папку.Пожалуйста, посоветуйте то же самое.
ОБНОВЛЕНИЕ:
Я попробовал ответ Исаака.При извлечении результирующего zip-файла папки не извлекаются.Извлекаются только файлы внутри всех папок.Мне просто не нужна папка «Вывод» одна в результирующем zip-файле.Но программа не извлекает все остальные папки из папки «Вывод», а просто извлекает файлы из этих папок.Пожалуйста, посоветуйте, как поступить ...