Diferencia entre revisiones de «File.openNextFile()»

De ArduWiki
Saltar a: navegación, buscar
(Descripción)
(Sintaxis)
Línea 4: Línea 4:
 
== Sintaxis ==
 
== Sintaxis ==
 
<pre>
 
<pre>
File variable = SD.openNextFile(nombre, modo);
+
File dir = SD.open(ruta);
 +
File archivo = dir.openNextFile();
 
</pre>
 
</pre>
  

Revisión del 20:07 3 jul 2019

Descripción

Método de la clase File (fichero/archivo) o directorio (carpeta) dentro de la tarjeta SD; con este se interactúa directamente sobre ellos.

Sintaxis

File dir = SD.open(ruta);
File archivo = dir.openNextFile();

Parámetros

variable
Nombre de variable a instanciar.
nombre
Nombre de archivo SFN (8.3). Ejemplo log12345.txt.
modo
Puede ser FILE_WRITE o FILE_READ

Advertencias

Ejemplo

#include <SD.h>
File root;

void setup(){
  Serial.begin(9600);
  pinMode(10, OUTPUT);
  SD.begin(10);
  root = SD.open("/");
  printDirectory(root, 0);
  delay(2000);
  Serial.println();
  Serial.println("Rewinding, and repeating below:" );
  Serial.println();
  delay(2000);
  root.rewindDirectory();
  printDirectory(root, 0);
  root.close();
}

void loop(){
  //Nada
}

void printDirectory(File dir, int numTabs){
   while (true){
      File archivo = dir.openNextFile();
      if (!archivo){
         if (numTabs == 0){
            Serial.println("** Listo **");
         }
         return;
      }
      for (byte i=0; i<numTabs; i++){
         Serial.print('\t');
      }
      Serial.print(archivo.name());
      if (archivo.isDirectory()){
         Serial.println("/");
         printDirectory(archivo, numTabs + 1);
      }else{
         Serial.print("\t\t");
         Serial.println(archivo.size());
      }
      archivo.close();
   }
}

Vea también


Referencias externas