Акорневая директория - это что? Папка или файл? Если папка, то почему её можно открыть?
так это точно рабочая функция, пока не чистил скидываю тебе "как есть" я думаю сможешь выцепить нужное для себя void listDir(char * dir){
File root = SPIFFS.open(dir);
File file = root.openNextFile();
String cache = "";
int cnt = 0;
while(file){
if (file.size() > 0){
cnt++;
}
Serial.print(F("FILE: "));
Serial.println(file.name());
Serial.print(F("\tSIZE: "));
Serial.println(file.size());
//str
if (String(dir).compareTo(F("/syski"))==0){
if (cnt <= COUNT_SYSKI){
cache = "";
if(!file || file.isDirectory()){Serial.println(F("- нет файла или это директория"));
return;
}
Serial.println(F("- попытка чтения:"));
while(file.available())
{cache = cache + char(file.read());}
if (cache != ""){
sisArchive[cnt-1][1]=file.name();
Serial.println(file.name());
sisArchive[cnt-1][0]=cache;
Serial.println(cache);
c_sys = c_sys +1;}else
{
Serial.println(F("херня неведомая не проканало файло =("));}
}
}
if (String(dir).compareTo( F("/cat"))==0){
if (cnt <= COUNT_CAT){
cache = "";
if(!file || file.isDirectory()){
Serial.println(F("- нет файла или это директория"));
return;
}
Serial.println(F("- попытка чтения:"));
while(file.available()){
cache = cache + char(file.read());
}
//cache = re_file(file.name());
if (cache != ""){
catArchive[cnt-1][1]=file.name();
Serial.println(file.name());
catArchive[cnt-1][0]=cache;
Serial.println(cache);
c_cat = c_cat +1;
}else
{
Serial.println(F("херня неведомая не проканало файло =("));}
}
}
//file.close();
file = root.openNextFile();
}
}