这里会显示出您选择的修订版和当前版本之间的差别。
en:arduino:libraries:fileisdirectory [2016/12/25 22:15] |
en:arduino:libraries:fileisdirectory [2016/12/25 22:15] (当前版本) |
||
---|---|---|---|
行 1: | 行 1: | ||
+ | [[en:arduino:libraries:sd|SD]] : File class | ||
+ | ====== isDirectory() ====== | ||
+ | |||
+ | Directories (or folders) are special kinds of files, this function reports if the current file is a directory or not. | ||
+ | ===== Syntax ===== | ||
+ | |||
+ | file.isDirectory() | ||
+ | ===== Parameters ===== | ||
+ | |||
+ | file: an instance of the File class (returned by file.open() | ||
+ | ===== Returns ===== | ||
+ | |||
+ | boolean | ||
+ | ===== Example ===== | ||
+ | <code cpp> | ||
+ | #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); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </code> | ||
+ | ===== See Also ===== | ||
+ | |||
+ | * openNextFile() | ||
+ | * rewindDirectory() | ||
+ | [[en:arduino:libraries|Reference Home]] |