FileWriter
Como objeto que le permite crear y escribir datos en un archivo.
Propiedades
readyState: uno de los tres Estados posibles, ya sea
INIT
,WRITING
, oDONE
.nombre de archivo: el nombre del archivo a ser escrito. (DOMString)
longitud: la longitud del archivo a ser escrito. (largo)
posición: la posición actual del puntero del archivo. (largo)
error: un objeto que contiene errores. (FileError)
onwritestart: cuando comienza la escritura. (Función)
onwrite: cuando la solicitud se ha completado con éxito. (Función)
onabort: cuando la escritura ha sido abortada. Por ejemplo, invocando el método abort(). (Función)
OnError: cuando la escritura ha fallado. (Función)
onwriteend: llamado cuando se haya completado la solicitud (ya sea en el éxito o el fracaso). (Función)
La siguiente propiedad no es compatible:
- OnProgress: llamado al escribir el archivo, informe de progreso en términos de
progress.loaded
/progress.total
. (Función)
Métodos
anular: anula el archivo de la escritura.
Buscar: mueve el puntero del archivo en el byte especificado.
truncar: acorta el archivo a la longitud especificada.
escribir: escribe los datos en el archivo.
Detalles
El FileWriter
objeto ofrece una manera de escribir archivos codificado en UTF-8 en el sistema de archivos del dispositivo. Aplicaciones responden a writestart
, progress
, write
, writeend
, error
, y abort
eventos.
Cada FileWriter
corresponde a un solo archivo, a la que se pueden escribir datos muchas veces. El FileWriter
mantiene el archivo position
y length
atributos, que permiten la aplicación para seek
y write
en el archivo. De forma predeterminada, el FileWriter
escribe al principio del archivo, sobrescribiendo los datos existentes. Conjunto opcional append
booleana a true
en el FileWriter
del constructor para escribir en el final del archivo.
Datos de texto es apoyados por todas las plataformas que se enumeran a continuación. Texto es codificado como UTF-8 antes de que se escriben en el sistema de archivos. Algunas plataformas soportan datos binarios, que pueden pasar en un ArrayBuffer o un Blob.
Plataformas soportadas
Texto y soporte binario:
- Android
- iOS
Soporte de sólo texto:
- BlackBerry WebWorks (OS 5.0 y superiores)
- Windows Phone 7 y 8
- Windows 8
Buscar ejemplo rápido
function win(writer) {
// fast forwards file pointer to end of file
writer.seek(writer.length);
};
var fail = function(evt) {
console.log(error.code);
};
entry.createWriter(win, fail);
Truncar ejemplo rápido
function win(writer) {
writer.truncate(10);
};
var fail = function(evt) {
console.log(error.code);
};
entry.createWriter(win, fail);
Escribir rápido ejemplo
function win(writer) {
writer.onwrite = function(evt) {
console.log("write success");
};
writer.write("some sample text");
};
var fail = function(evt) {
console.log(error.code);
};
entry.createWriter(win, fail);
Binario escribir ejemplo rápido
function win(writer) {
var data = new ArrayBuffer(5),
dataView = new Int8Array(data);
for (i=0; i < 5; i++) {
dataView[i] = i;
}
writer.onwrite = function(evt) {
console.log("write success");
};
writer.write(data);
};
var fail = function(evt) {
console.log(error.code);
};
entry.createWriter(win, fail);
Anexar ejemplo rápido
function win(writer) {
writer.onwrite = function(evt) {
console.log("write success");
};
writer.seek(writer.length);
writer.write("appended text");
};
var fail = function(evt) {
console.log(error.code);
};
entry.createWriter(win, fail);
Abortar ejemplo rápido
function win(writer) {
writer.onwrite = function(evt) {
console.log("write success");
};
writer.write("some sample text");
writer.abort();
};
var fail = function(evt) {
console.log(error.code);
};
entry.createWriter(win, fail);
Ejemplo completo
<!DOCTYPE html>
<html>
<head>
<title>FileWriter Example</title>
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script type="text/javascript" charset="utf-8">
// Wait for device API libraries to load
//
document.addEventListener("deviceready", onDeviceReady, false);
// device APIs are available
//
function onDeviceReady() {
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);
}
function gotFS(fileSystem) {
fileSystem.root.getFile("readme.txt", {create: true, exclusive: false}, gotFileEntry, fail);
}
function gotFileEntry(fileEntry) {
fileEntry.createWriter(gotFileWriter, fail);
}
function gotFileWriter(writer) {
writer.onwriteend = function(evt) {
console.log("contents of file now 'some sample text'");
writer.truncate(11);
writer.onwriteend = function(evt) {
console.log("contents of file now 'some sample'");
writer.seek(4);
writer.write(" different text");
writer.onwriteend = function(evt){
console.log("contents of file now 'some different text'");
}
};
};
writer.write("some sample text");
}
function fail(error) {
console.log(error.code);
}
</script>
</head>
<body>
<h1>Example</h1>
<p>Write File</p>
</body>
</html>