File.flush()

De ArduWiki
Revisión del 21:25 3 jul 2019 de Kike GL (Discusión | contribuciones) (Sintaxis)

(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar

Descripción

Fuerza la actualización de los datos en la tarjeta SD (y el atributo del tamaño del archivo en caso de que haya crecido).

Sintaxis

File archivo = SD.open("archivo.txt", FILE_WRITE);
archivo.flush();

Parámetros

Nada.

Retorna

Nada.

Comentarios

Esta es una opción ya que, como en la página principal de esta librería se mencionó, es un flujo de datos por bloques; lo que quiere decir que escribir datos no lo hace inmediatamente al medio físico (por cuestiones de rendimiento), sino que primero los registra en SRAM mediante una caché. Cuando esta se llene, automáticamente debe escribir esos datos al medio físico (la tarjeta SD) para así poder seguir con la escritura.

Este proceso de actualización ocurre en alguna de las siguientes situaciones:

  • Al llamar esta función (manualmente).
  • Al cambiar de bloque de datos (cada 512 bytes) si el que está en caché ha cambiado su contenido tras su lectura.
  • Al cerrar el archivo (aplica la misma regla de la anterior).
  • En cada intento de escritura si el archivo se abre con la opción O_SYNC.

Advertencias

  • No se recomienda abusar de esta función, no solo por tema de rendimiento sino por tema de desgaste en la tarjeta SD.
  • Esta función siempre fallará si la instancia representa un directorio o carpeta; o el archivo no fue abierto para escritura.

Ejemplo 1

// Pendiente

Vea también


Referencias