diff --git a/lang/java/avro/src/main/java/org/apache/avro/file/DataFileReader.java b/lang/java/avro/src/main/java/org/apache/avro/file/DataFileReader.java
index 280511b..dc4206c 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/file/DataFileReader.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/file/DataFileReader.java
@@ -32,7 +32,7 @@
 
 /**
  * Random access to files written with {@link DataFileWriter}.
- * 
+ *
  * @see DataFileWriter
  */
 public class DataFileReader<D> extends DataFileStream<D> implements FileReader<D> {
@@ -73,7 +73,7 @@
   /**
    * Construct a reader for a file at the current position of the input, without
    * reading the header.
-   * 
+   *
    * @param sync True to read forward to the next sync point after opening, false
    *             to assume that the input is already at a valid sync point.
    */
@@ -88,17 +88,17 @@
     return dreader;
   }
 
-  /** Construct a reader for a file. */
+  /** Construct a reader for a file. Please close resource files yourself. */
   public DataFileReader(File file, DatumReader<D> reader) throws IOException {
     this(new SeekableFileInput(file), reader, true);
   }
 
-  /** Construct a reader for a file. */
+  /** Construct a reader for a file. Please close resource files yourself. */
   public DataFileReader(SeekableInput sin, DatumReader<D> reader) throws IOException {
     this(sin, reader, false);
   }
 
-  /** Construct a reader for a file. */
+  /** Construct a reader for a file. Please close resource files yourself. */
   protected DataFileReader(SeekableInput sin, DatumReader<D> reader, boolean closeOnError) throws IOException {
     super(reader);
     try {
