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

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

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

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

Функции:

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

Директории (или папки) – это особые виды файлов, и эта функция сообщает, является ли указанный файл директорией или нет.

Синтаксис

file.isDirectory()

Параметры

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

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

Если папка  true, если нет  false.

Пример

 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        //Serial.println("**nomorefiles**");
31        break;
32      }
33      for (uint8_t i=0; i<numTabs; i++) {
34        Serial.print('\t');
35      }
36      Serial.print(entry.name());
37      if (entry.isDirectory()) {
38        Serial.println("/");
39        printDirectory(entry, numTabs+1);
40      } else {
41        // у файлов есть размеры, у папок нет
42        Serial.print("\t\t");
43        Serial.println(entry.size(), DEC);
44      }
45    }
46 }

См.также

  1. openNextFile()
  2. rewindDirectory()

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