Close the InputStream properly
diff --git a/ldap/model/src/main/java/org/apache/directory/api/ldap/model/ldif/LdifAttributesReader.java b/ldap/model/src/main/java/org/apache/directory/api/ldap/model/ldif/LdifAttributesReader.java
index 0f493fe..4671e5a 100644
--- a/ldap/model/src/main/java/org/apache/directory/api/ldap/model/ldif/LdifAttributesReader.java
+++ b/ldap/model/src/main/java/org/apache/directory/api/ldap/model/ldif/LdifAttributesReader.java
@@ -158,6 +158,7 @@
      */
     public LdifAttributesReader()
     {
+        super();
         lines = new ArrayList<String>();
         position = 0;
         version = DEFAULT_VERSION;
diff --git a/ldap/model/src/main/java/org/apache/directory/api/ldap/model/ldif/LdifReader.java b/ldap/model/src/main/java/org/apache/directory/api/ldap/model/ldif/LdifReader.java
index a18e203..1b8d4c5 100644
--- a/ldap/model/src/main/java/org/apache/directory/api/ldap/model/ldif/LdifReader.java
+++ b/ldap/model/src/main/java/org/apache/directory/api/ldap/model/ldif/LdifReader.java
@@ -216,6 +216,9 @@
 
     /** The ldif Reader */
     protected Reader reader;
+    
+    /** The internal inputStream */
+    private InputStream is;
 
     /** A flag set if the ldif contains entries */
     protected boolean containsEntries;
@@ -351,7 +354,7 @@
 
         try
         {
-            InputStream is = Files.newInputStream( Paths.get( file.getPath() ) );
+            is = Files.newInputStream( Paths.get( file.getPath() ) );
             initReader(
                 new BufferedReader( new InputStreamReader( is, Charset.defaultCharset() ) ) );
         }
@@ -2232,6 +2235,12 @@
             offset = 0;
             entryOffset = 0;
             lineNumber = 0;
+            
+            // Close the inner inputStream if needed
+            if ( is != null ) 
+            {
+                is.close();
+            }
         }
     }
 }