Arduino:Библиотеки/SD/Класс File/rewindDirectory()

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин (Cubewriter) Контакты:</br>* Skype: cubewriter</br>* E-mail: cubewriter@gmail.com</br>* Максим Кузьмин на freelance.ru
Проверка/Оформление/Редактирование: Мякишев Е.А.

Библиотека SD
(Обсуждение Arduino:Библиотеки/SD#disqus_thread)

Функции:

Функция rewindDirectory()[1]

Возвращает к первому файлу в директории. Используется вместе с openNextFile().

Синтаксис

file.rewindDirectory()

Параметры

file  экземпляр класса File, возвращаемый функцией SD.open()

Что возвращает

Ничего.

Пример

#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()
{
  // после кода в setup() ничего не происходит.
}

void printDirectory(File dir, int numTabs) {
   while(true) {

     File entry =  dir.openNextFile();
     if (! entry) {
       // файлов больше нет;
       // возвращаемся к первому файлу в директории:
       dir.rewindDirectory();
       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);
     }
   }
}

См.также

  1. open()
  2. openNextFile()
  3. isDirectory()

Внешние ссылки