code: @Override
      public AudioFileFormat getAudioFileFormat(File file)
              throws UnsupportedAudioFileException, IOException {
          LOG.log(Level.FINE, "TAudioFileReader.getAudioFileFormat(File): begin (class: {0})", getClass().getSimpleName());
          long lFileLengthInBytes = file.length();
          AudioFileFormat audioFileFormat;
          try (InputStream inputStream = new FileInputStream(file)) {
              audioFileFormat = getAudioFileFormat(inputStream, lFileLengthInBytes);
          }
          LOG.log(Level.FINE, "TAudioFileReader.getAudioFileFormat(File): end");
          return audioFileFormat;
      }
docs: Get an AudioFileFormat object for a File. This method calls
  getAudioFileFormat(InputStream, long). Subclasses should not override
  this method unless there are really severe reasons. Normally, it is
  sufficient to implement getAudioFileFormat(InputStream, long).
  
  @param file	the file to read from.
  @return	an AudioFileFormat instance containing information from the
  header of the file passed in.
  @throws javax.sound.sampled.UnsupportedAudioFileException
  @throws java.io.IOException