2016-11-03 3 views
0

click and see The NoPointerExcepeionПочему NoPointerExcepeion при распаковке apache compress?

сгенерировать tar.gz файлы и отправить 2 других 4 распаковывать, но их progrem имеет ошибку выше (их progrem не была создана мной), только один файл имеет эту ошибку.

Но при использовании команды 'деготь -xzvf *** на моем компьютере и компьютере, не возникли проблемы ...

Так что я хочу знать 2, что было неправильно в моей progrem ниже:

public static void archive(ArrayList<File> files, File destFile) throws Exception { 
    TarArchiveOutputStream taos = new TarArchiveOutputStream(new FileOutputStream(destFile)); 
    taos.setLongFileMode(TarArchiveOutputStream.LONGFILE_POSIX); 
    for (File file : files) { 
     //LOG.info("file Name: "+file.getName()); 
     archiveFile(file, taos, ""); 
    } 
} 

private static void archiveFile(File file, TarArchiveOutputStream taos, String dir) throws Exception { 
    TarArchiveEntry entry = new TarArchiveEntry(dir + file.getName()); 
    entry.setSize(file.length()); 
    taos.putArchiveEntry(entry); 
    BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file)); 
    int count; 
    byte data[] = new byte[BUFFER]; 
    while ((count = bis.read(data, 0, BUFFER)) != -1) { 
     taos.write(data, 0, count); 
    } 
    bis.close(); 
    taos.closeArchiveEntry(); 
} 

ответ