Show Menu
Cheatography

Ficheros en java Cheat Sheet by

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
true
si 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.
       
 

Comments

No comments yet. Add yours below!

Add a Comment

Your Comment

Please enter your name.

    Please enter your email address

      Please enter your Comment.

          Related Cheat Sheets

          Selenium WebDriver Cheat Sheet Cheat Sheet
          ISTQB Test Automation Engineering Cheat Sheet

          More Cheat Sheets by victorjfg

          Acceso a bases de datos relacionales en Java. Cheat Sheet