code: @Override
    public FSDataInputStream open(Path f, int bufferSize) throws IOException {
      HarStatus hstatus = getFileHarStatus(f, null);
      // we got it.. woo hooo!!!
      if (hstatus.isDir()) {
        throw new FileNotFoundException(f + " : not a file in " +
                  archivePath);
      }
      return new HarFSDataInputStream(fs, new Path(archivePath,
          hstatus.getPartName()),
          hstatus.getStartIndex(), hstatus.getLength(), bufferSize);
    }
docs: Returns a har input stream which fakes end of
  file. It reads the index files to get the part
  file name and the size and start of the file.