Описание
Метод объекта File возвращает имя следующего файла или папки в пределах директории.
Синтаксис
file.openNextFile();
file.openNextFile(mode);
Параметры
file - экземпляр класса FIle (возвращаемый функцией SD.open()).
mode (не обязательный параметр) - режим открытия файла, по умолчанию - FILE_READ - byte. Может принимать одно из следующих значений:
FILE_READ: открыть для чтения с начала файла.
FILE_WRITE: открыть для чтения или записи в конец файла.
Возвращаемые значения
Объект File, ссылающийся на открытый файл; если файл открыть не удалось, возвращаемый объект будет эквивалентен значению false (в логическом смысле). Т.е. значение, возвращаемое этой функцией, можно анализировать с помощью условного оператора if
Пример:
#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()
{
// после первоначальной настройки ничего не происходит.
}
void printDirectory(File dir, int numTabs) {
while(true) {
File entry = dir.openNextFile();
if (! entry) {
// больше нет файлов
//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 {
// у файлов есть размер, в отличие от директорий
Serial.print("\t\t");
Serial.println(entry.size(), DEC);
}
}
}
Смотрите также:
isDirectory()
rewindDirectory()
SD.open()
Библиотека SD
Справочник
Материалы взяты с официального сайта проекта Arduino и представлены по лицензии Creative Commons Attribution-ShareAlike 3.0 License.
Источник: http://www.arduino.cc/en/Reference/FileOpenNextFile |