0
我一直在試圖創建Java中使用聯合戰術空中攻擊library.I tar文件TAR文件我想兩個文件打包成一個焦油file.However第二個文件是不能爲創建上市tar.Rather它顯示爲第一個文件的內容。創建使用聯合戰術空中攻擊庫
我的代碼如下所示:
// 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();
當我用 「貓」 的命令看起來打開tar文件的內容,如:
tarSample/File1.txt100644 0 0 1ustarkumarang 0 0 tarSample/File2.txt100644 0 0 7 12301634511 13276 0ustarkumarang 0 0
如果我的理解是正確的tarEntry是越來越增加。然而這些文件的內容沒有得到書面的tar文件。
任何機構都知道修復?
謝謝。
什麼的'tar -tvf C:\\ tarFile'告訴你? – DaveH
它只是顯示File1的細節。當我提取tar並打開File1時,它將File2的名稱作爲其內容。 – Kumaran