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

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

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.

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

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

Синтаксис

file.isDirectory()

Параметры

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

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

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

Пример

#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) {
       // файлов больше нет
       //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);
     }
   }
}

См.также

  1. openNextFile()
  2. rewindDirectory()

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