code: public <X> DataSource<X> readFileOfPrimitives(String filePath, Class<X> typeClass) {
  		Preconditions.checkNotNull(filePath, "The file path may not be null.");
  
  		return new DataSource<>(this, new PrimitiveInputFormat<>(new Path(filePath), typeClass), TypeExtractor.getForClass(typeClass), Utils.getCallLocationName());
  	}
docs: Creates a {@link DataSet} that represents the primitive type produced by reading the given file line wise.
  This method is similar to {@link #readCsvFile(String)} with single field, but it produces a DataSet not through
  {@link org.apache.flink.api.java.tuple.Tuple1}.
  
  @param filePath The path of the file, as a URI (e.g., "file:///some/local/file" or "hdfs://host:port/file/path").
  @param typeClass The primitive type class to be read.
  @return A {@link DataSet} that represents the data read from the given file as primitive type.