Ficheros en java Cheat Sheet

A cheat sheet in español (Spanish) by victorjfg
9,600 views 2,828 downloads 28 May 2017 History
3.7 avg · 0 ratings

Escribir texto

PrintW­riter fOut = new PrintW­rit­er(new Buffer­edW­rit­er(new FileWr­ite­r("n­omb­re_­fic­her­o")));
Apertura del PrintW­riter como Stream handler utilizando un buffer de salida para acelerar las operac­iones.
PrintW­riter fOut = new PrintW­rit­er((new FileWr­ite­r("n­omb­re_­fic­her­o"));
Apertura sin buffer
PrintW­riter fOut = new PrintW­rit­er(­"­nom­bre­_fi­che­ro");
Similar al anterior
fOut.p­rin­t(d­ato);
Imprimir un dato.
fOut.p­rin­tln­(dato);
Imprimir un dato y cambio de línea
fOut.p­rin­tln();
Imprimir un cambio de línea en el fichero
fOut.f­orm­at(­"­cad­ena­_de­_fo­rma­to", dato, dato...);
Imprimir un dato con formato
fOut.f­orm­at(­Loc­ale.ROOT, "­cad­ena­_de­_fo­rma­to", dato, dato...);
Imprimir un dato con formato en cultura neutra
fOut.p­rin­tf(­"­cad­ena­_de­_fo­rma­to", dato, dato...);
printf es equiva­lente a format
Si el fichero existe, se machaca, creándose de nuevo.
Puede abrirse para añadir al final mediante el constr­uctor del FileWr­iter: PrintW­riter fOut = new PrintW­rit­er(new Buffer­edW­rit­er(new FileWr­ite­r("n­omb­re_­fic­her­o", true)));

Leer texto

Scanner fIn = new Scanne­r(new Buffer­edR­ead­er(new FileRe­ade­r("n­omb­re_­fic­her­o"))):
Apertura del stream, con buffer de entrada.
Scanner fIn = new Scanne­r(new FileRe­ade­r("n­omb­re_­fic­her­o")):
Sin buffer
fIn.ne­xtL­ine();
Lee una línea de la entrada.
fIn.ha­sNe­xtL­ine()
Devuelve truesi hay una línea preparada en la entrada.
Una vez leída una línea de la entrada se puede tokenizar o realizar cualquier otra acción.

Operac­iones con el sistema de ficheros

File f= new File("n­omb­re");
Un objeto de tipo File representa a un fichero o una carpeta. Se puede especi­ficar un nombre con trayec­toria absoluta o relativa.
f.delete() boolean
Borrar el fichero. True si éxito.
f.exists() boolean
True si el fichero existe.
f.getA­bso­lut­ePath() String
La trayec­toria absoluta
f.getP­arent() String
El directorio de nivel superior
f.isDi­rec­tory() boolean
True si el nombre representa a un direct­orio. False si es un fichero u otra cosa.
f.mkdir() boolean
Crea un directorio con el nombre especi­ficado. True si éxito
f.rena­meT­o(new File("n­uev­o_n­omb­re")) boolean
Cambiar nombre. True si éxito
f.list() String[]
Si f representa a un direct­orio, lista los nombres de los elementos que contiene.

Escribir binario secuencial

DataOu­tpu­tStream fOut = new DataOu­tpu­tSt­rea­m(new FileWr­ite­r(n­omb­re));
Abrir stream handler
fOut.w­rit­eIn­t(dato)
Escribe un entero
fOut.w­rit­eDo­ubl­e(dato)
Escribe un double
fOut.w­rit­eUT­F(dato)
Escribe una cadena en la codifi­cación UTF de Unicode.
Dispone de métodos para grabar todos los tipos primit­ivos, cada uno con una longitud fija y cadenas de longitud variable. Para las cadenas graba primero su longitud en dos bytes, y a contin­uación el contenido de la cadena.
Dispone de un método para escribir un número arbitrario de bytes.

Leer binario secuencial

DataIn­put­Stream fIn = new DataIn­put­Str­eam(new FileIn­put­Str­eam­("no­mbr­e"));
Abrir stream handler
int n = fIn.re­adI­nt();
Lee un entero
double d = fIn.re­adD­oub­le();
Lee un double
String s = fIn.re­adU­TF();
Leer una cadena
Dispone de métodos para leer todos los tipos primit­ivos.
Dispone de un método para leer un número arbitrario de bytes.

Escribir / leer binario aleatorio

Random­Acc­essFile f = new Random­Acc­ess­Fil­e("n­omb­re", "­rw");
Abre un fichero de acceso aleatorio que permite leer y escribir simult­áne­amente. "­rw"= read/write
f.writ­eInt(n)
Escribe un entero
f.writ­eDo­uble(d)
Escribe un double
f.writ­e(buff)
Escribe un array de bytes.
f.seek­(pos)
Establece el despla­zam­iento del puntero del fichero al byte especi­ficado, para que la siguiente operación de lectura o escritura se produzca a partir de ese byte.
int n = f.read­Int()
leer un entero
double d = f.read­Dou­ble()
Leer un double
f.read­(buff)
Lee una cierta cantidad de bytes suficiente para llenar el array buff
Random­Acc­essFile permite grabar y leer del fichero. También permite saltar con seek(..) y establecer la posición por la que el S.O. lee o escribe.
Dispone de los mismos métodos que el DataOu­tpu­tStream y el DataIn­put­Stream.

Leer serial­ización nativa

Object­Inp­utS­tream ois = new Object­Inp­utS­tre­am(new FileIn­put­Str­eam­("no­mbr­e"));
Abrir stream handler
ois.re­adO­bject() Object
Lee un objeto y lo devuelve con una referencia a Object. Para enganc­harlo con una referencia más específica se puede hacer un typecast
Object­Inp­utS­tream dispone de los mismos métodos que DataIn­put­Stream.

Escribir Serial­ización nativa

Object­Out­put­Stream oos = new Object­Out­put­Str­eam(new FileOu­tpu­tSt­rea­m("n­omb­re"));
Apertura del Stream handler
oos.wr­ite­Obj­ect(o)
Escribe el objeto apuntado por la refere­ncia. Si el objeto contiene refere­ncias a otros objetos, se serializan todos si es posible
Los objetos serial­izables deben implem­entar la interface java.i­o.S­eri­ali­zable, que no conlleva obliga­ciones.
Puede guardarse más de un objeto en un stream, que deben recupe­rarse luego en el mismo orden.
Object­Out­put­Stream también tiene los mismos métodos que DataOu­tpu­tSt­ream.

Badges

Nice Cheat Sheet Good Cheat Sheet Downloaded from Unusual Locations × 1

Comments

No comments yet.

Cheatography n. The art of mapping complex subjects into clear, instantly navigable reference guides.