diff --git a/doc/filesystem.rst b/doc/filesystem.rst
index 3e6fdeffbf..606a2707d5 100644
--- a/doc/filesystem.rst
+++ b/doc/filesystem.rst
@@ -278,7 +278,7 @@ Directory object (Dir)
 ----------------------
 
 The purpose of *Dir* object is to iterate over files inside a directory.
-It provides three methods: ``next()``, ``fileName()``, and
+It provides the methods: ``next()``, ``fileName()``, ``fileSize()`` , and
 ``openFile(mode)``.
 
 The following example shows how it should be used:
@@ -288,21 +288,41 @@ The following example shows how it should be used:
     Dir dir = SPIFFS.openDir("/data");
     while (dir.next()) {
         Serial.print(dir.fileName());
-        File f = dir.openFile("r");
-        Serial.println(f.size());
+        if(dir.fileSize()) {
+            File f = dir.openFile("r");
+            Serial.println(f.size());
+        }
     }
 
-``dir.next()`` returns true while there are files in the directory to
-iterate over. It must be called before calling ``fileName`` and
-``openFile`` functions.
+next
+~~~~
+
+Returns true while there are files in the directory to
+iterate over. It must be called before calling ``fileName()``, ``fileSize()``,
+and ``openFile()`` functions.
+
+fileName
+~~~~~~~~~
+
+Returns the name of the current file pointed to
+by the internal iterator.
+
+fileSize
+~~~~~~~~
+
+Returns the size of the current file pointed to
+by the internal iterator.
+
+openFile
+~~~~~~~~
 
-``openFile`` method takes *mode* argument which has the same meaning as
-for ``SPIFFS.open`` function.
+This method takes *mode* argument which has the same meaning as
+for ``SPIFFS.open()`` function.
 
 File object
 -----------
 
-``SPIFFS.open`` and ``dir.openFile`` functions return a *File* object.
+``SPIFFS.open()`` and ``dir.openFile()`` functions return a *File* object.
 This object supports all the functions of *Stream*, so you can use
 ``readBytes``, ``findUntil``, ``parseInt``, ``println``, and all other
 *Stream* methods.