code: func (z *ZipArchive) extractFile(f *File) error {
  	if !z.isHasWriter {
  		for _, zf := range z.ReadCloser.File {
  			if f.Name == zf.Name {
  				return extractFile(zf, path.Dir(f.tmpPath))
  			}
  		}
  	}
  	return cae.Copy(f.tmpPath, f.absPath)
  }
docs: // extractFile extracts file from ZipArchive to file system.