public int getRecordSize ( ) { if ( this . tarIn != null ) { return this . tarIn . getRecordSize ( ) ; } else if ( this . tarOut != null ) { return this . tarOut . getRecordSize ( ) ; } return TarBuffer . DEFAULT_RCDSIZE ; }
Get the archive s record size . Because of its history tar supports the concept of buffered IO consisting of BLOCKS of RECORDS . This allowed tar to match the IO characteristics of the physical device being used . Of course in the Java world this makes no sense WITH ONE EXCEPTION - archives are expected to be propertly blocked . Thus all of the horrible TarBuffer support boils down to simply getting the boundaries correct .