SD : File class
Directories (or folders) are special kinds of files, this function reports if the current file is a directory or not.
file.isDirectory()
file: an instance of the File class (returned by file.open()
boolean
#include <SD.h>
File root;
void
setup
(
)
{
Serial.begin
(
9600
)
;
pinMode
(
10
,
OUTPUT
)
;
SD.begin
(
10
)
;
root = SD.open
(
"/"
)
;
printDirectory(root,
0
)
;
Serial.println
(
"done!"
)
;
}
void
loop
(
)
{
// nothing happens after setup finishes.
}
void printDirectory(File dir,
int numTabs)
{
while
(
true
)
{
File entry = dir.openNextFile
(
)
;
if
(
! entry)
{
// no more files
//Serial.println("**nomorefiles**");
break
;
}
for
(uint8_t i=
0
; i<numTabs; i++
)
{
Serial.print
(
'\t'
)
;
}
Serial.print
(entry.name
(
)
)
;
if
(entry.isDirectory
(
)
)
{
Serial.println
(
"/"
)
;
printDirectory(entry, numTabs+
1
)
;
}
else
{
// files have sizes, directories do not
Serial.print
(
"\t
\t"
)
;
Serial.println
(entry.size
(
)
,
DEC
)
;
}
}
}
The text of the Arduino reference is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.