Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.0
-
None
-
None
-
Java 1.4.2 run on AIX and Linux
Description
The code below is called with an array of 4 file names. The cpio archive archive.cpio is created with no error messages, but when I then run the Unix command "cpio -ivct <archive.cpio" it reports the error "Can't read input" on the last file in the archive. If I run "cpio -ivcBmu <archive.cpio" the last file is incomplete, but the other files are extracted correctly. Same result in AIX and Linux.
{{
private void createArchive(String[] outFiles)
throws FileNotFoundException, IOException, ArchiveException {
short format = CpioArchiveOutputStream.FORMAT_OLD_ASCII;
final OutputStream out = new FileOutputStream("archive.cpio");
ArchiveOutputStream os = new CpioArchiveOutputStream(out, format);
for (int j = 0; j < outFiles.length; j++)
{ System.out.println("Entry = " + outFiles[j]); File f = new File(outFiles[j]); CpioArchiveEntry entry = new CpioArchiveEntry(format); entry.setName(outFiles[j]); entry.setSize(f.length()); os.putArchiveEntry(entry); IOUtils.copy(new FileInputStream(outFiles[j]), os); os.closeArchiveEntry(); } os.finish();
os.close();
}
}}