Ich habe ein Java-Programm, das Tear/GZ ein großes bisschen Daten (14 Gigs) und ich Commons-compress verwenden muss. Dies wird jede Woche ein neuer Job sein und ist automatisiert.commons-compress "wird nicht in oktal passen"
Wenn ich versuche, etwas von dieser Größe zu komprimieren, die ich erhalten:
java.lang.IllegalArgumentException: 13313903445=143144405525 will not fit in octal number buffer of length 11
at org.apache.commons.compress.archivers.tar.TarUtils.formatUnsignedOctalString(TarUtils.java:212)
at org.apache.commons.compress.archivers.tar.TarUtils.formatLongOctalBytes(TarUtils.java:265)
at org.apache.commons.compress.archivers.tar.TarArchiveEntry.writeEntryHeader(TarArchiveEntry.java:749)
at org.apache.commons.compress.archivers.tar.TarArchiveOutputStream.putArchiveEntry(TarArchiveOutputStream.java:209)
at com.broadridge.adc.core.commons.io.ADCFileUtils.addFilesToCompression(ADCFileUtils.java:144)
at com.broadridge.adc.core.commons.io.ADCFileUtils.addFilesToCompression(ADCFileUtils.java:154)
at com.broadridge.adc.core.commons.io.ADCFileUtils.compressFiles(ADCFileUtils.java:125)
at com.broadridge.adc.core.commons.io.ADCFileUtils.compressFile(ADCFileUtils.java:106)
Mein Code funktioniert für kleinere Mengen von Informationen (etwa 600 MB) in Ordnung. Ich habe mir den Quellcode angesehen, aber es ist nicht sauber für mich, warum der Fehler auftritt.
Hat jemand eine Idee, warum das passiert?
Es könnte sein, dass die von commons-compress verwendete tar-Version der alte Stil ist, der eine 8-Gig-Grenze hat. – user965697