Я пытаюсь создать tar-файл из JAVA с помощью библиотеки JTar. Я пытаюсь упаковать два файла в один файл tar. Однако второй файл не попадает в созданный tar.Rather он отображается как содержимое первого файла.Создание файла TAR с использованием библиотеки JTar
Мой код выглядит следующим образом:
// Output file stream
FileOutputStream dest = new FileOutputStream("C:\\tarFile");
// Create a TarOutputStream
TarOutputStream out = new TarOutputStream(new BufferedOutputStream(dest));
// Files to tar
File[] filesToTar = new File[2];
filesToTar[0] = new File("C:\\tarSample\\File1.txt");
filesToTar[1] = new File("C:\\tarSample\\File2.txt");
for (File f : filesToTar)
{
TarEntry entry = new TarEntry(f);
out.putNextEntry(entry);
BufferedInputStream origin = new BufferedInputStream(new FileInputStream(f));
int count;
byte data[] = new byte[2048];
while ((count = origin.read(data)) != -1)
{
out.write(data, 0, count);
}
out.flush();
origin.close();
}
out.close();
dest.close();
Когда я открыть содержимое файл обработан с помощью команды "кошки" это выглядит следующим образом:
tarSample/File1.txt100644 0 0 1ustarkumarang 0 0 tarSample/File2.txt100644 0 0 7 12301634511 13276 0ustarkumarang 0 0
Если мое понимание верно, tarEntry добавляется в файл tar. Однако содержимое файлов не записывается.
Любое тело знает об исправлении?
Спасибо.
, что делает 'деготь -tvf C: \\ tarFile' показать вам? – DaveH
Он просто показывает детали файла1. Когда я извлекаю tar и открываю File1, у него есть имя файла File2 как его содержимое. – Kumaran