code: public static <T> T withDataInputStream(File file, @ClosureParams(value = SimpleType.class, options = "java.io.DataInputStream") Closure<T> closure) throws IOException {
          return IOGroovyMethods.withStream(newDataInputStream(file), closure);
      }
docs: Create a new DataInputStream for this file and passes it into the closure.
  This method ensures the stream is closed after the closure returns.
  
  @param file    a File
  @param closure a closure
  @return the value returned by the closure
  @throws IOException if an IOException occurs.
  @see IOGroovyMethods#withStream(java.io.InputStream, groovy.lang.Closure)
  @since 1.5.2