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()

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

Ничего.

Пример

 1 #include <SD.h>
 2 
 3 File root;
 4 
 5 void setup()
 6 {
 7   Serial.begin(9600);
 8   pinMode(10, OUTPUT);
 9 
10   SD.begin(10);
11 
12   root = SD.open("/");
13 
14   printDirectory(root, 0);
15 
16   Serial.println("done!");  // "готово!" 
17 }
18 
19 void loop()
20 {
21   // после кода в setup() ничего не происходит.
22 }
23 
24 void printDirectory(File dir, int numTabs) {
25    while(true) {
26 
27      File entry =  dir.openNextFile();
28      if (! entry) {
29        // файлов больше нет;
30        // возвращаемся к первому файлу в директории:
31        dir.rewindDirectory();
32        break;
33      }
34      for (uint8_t i=0; i<numTabs; i++) {
35        Serial.print('\t');
36      }
37      Serial.print(entry.name());
38      if (entry.isDirectory()) {
39        Serial.println("/");
40        printDirectory(entry, numTabs+1);
41      } else {
42        // у файлов есть размер, у директорий – нет:
43        Serial.print("\t\t");
44        Serial.println(entry.size(), DEC);
45      }
46    }
47 }

См.также

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

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