Ficheros

Bueno me he puesto a leer la documentación de ficheros de java y tengo un lio...¡
Yo quiero crear un fichero de texto a partir de un fichero excel.
Leo una celda de tipo int del fichero excel, la convierto a string y luego escribo en el fichero de texto. Bueno y ademas de escribir quiero que al principio se cree el fichero de texto.
¿Qué clase utilizo? Por bytes ninguna, y si utilizo una de caracteres, ¿tendría qué recorrer el string caracter a caracter para escribirlo en el fichero de texto?
Como podrás observar tengo un cacao mental increible¡

1 Respuesta

Respuesta
1
Ante todo, tranquila, esto nos ha pasado a todos. Aqui te mando una clase para que leas y escribas en ficheros, espero que te sea util. Usala como paquete y podras usar sus funciones. Un saludo
package ficheros;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.FileReader;
import java.io.ObjectOutputStream;
import java.io.ObjectInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class archivos {
public static void escribirByte( String nombre, byte [] info ) {
FileOutputStream fos = null;
File archivo = null;
try {
archivo = new File( nombre );
fos = new FileOutputStream( archivo );
} catch( FileNotFoundException fnfe ) {
System.out.println( "Error de acceso al fichero " + archivo.getAbsolutePath() );
}
try {
fos.write( info );
} catch( IOException ioe ) {
System.out.println( "No se puede escribir en el fichero " + archivo.getAbsolutePath() );
} finally {
if( fos != null ) {
try {
fos.close();
} catch( IOException ioe ) {
System.out.println( "No se puede cerrar el fichero " + archivo.getAbsolutePath() );
}
}
}
}
public static void escribirByte( File nombre, byte [] info ) {
FileOutputStream fos = null;
try {
fos = new FileOutputStream( nombre );
} catch( FileNotFoundException fnfe ) {
System.out.println( "Error de acceso al fichero " + nombre.getAbsolutePath() );
}
try {
fos.write( info );
} catch( IOException ioe ) {
System.out.println( "No se puede escribir en el fichero " + nombre.getAbsolutePath() );
} finally {
if( fos != null ) {
try {
fos.close();
} catch( IOException ioe ) {
System.out.println( "No se puede cerrar el fichero " + nombre.getAbsolutePath() );
}
}
}
}
public static void escribirByte( String nombre, byte [] info, boolean agregar ) {
FileOutputStream fos = null;
File archivo = null;
try {
archivo = new File( nombre );
fos = new FileOutputStream( archivo, agregar );
} catch( FileNotFoundException fnfe ) {
System.out.println( "Error de acceso al fichero " + archivo.getAbsolutePath() );
}
try {
fos.write( info );
} catch( IOException ioe ) {
System.out.println( "No se puede escribir en el fichero " + archivo.getAbsolutePath() );
} finally {
if( fos != null ) {
try {
fos.close();
} catch( IOException ioe ) {
System.out.println( "No se puede cerrar el fichero " + archivo.getAbsolutePath() );
}
}
}
}
public static void escribirByte( File nombre, byte [] info, boolean agregar ) {
FileOutputStream fos = null;
try {
fos = new FileOutputStream( nombre, agregar );
} catch( FileNotFoundException fnfe ) {
System.out.println( "Error de acceso al fichero " + nombre.getAbsolutePath() );
}
try {
fos.write( info );
} catch( IOException ioe ) {
System.out.println( "No se puede escribir en el fichero " + nombre.getAbsolutePath() );
} finally {
if( fos != null ) {
try {
fos.close();
} catch( IOException ioe ) {
System.out.println( "No se puede cerrar el fichero " + nombre.getAbsolutePath() );
}
}
}
}
public static void escribirChar( String nombre, char [] info ) {
FileWriter fos = null;
File archivo = null;
try {
archivo = new File( nombre );
fos = new FileWriter( archivo );
} catch( IOException ioe ) {
System.out.println( "Error de acceso al fichero " + archivo.getAbsolutePath() );
}
try {
fos.write( info );
} catch( IOException ioe ) {
System.out.println( "No se puede escribir en el fichero " + archivo.getAbsolutePath() );
} finally {
if( fos != null ) {
try {
fos.close();
} catch( IOException ioe ) {
System.out.println( "No se puede cerrar el fichero " + archivo.getAbsolutePath() );
}
}
}
}
public static void escribirChar( File nombre, char [] info ) {
FileWriter fos = null;
try {
fos = new FileWriter( nombre );
} catch( IOException ioe ) {
System.out.println( "Error de acceso al fichero " + nombre.getAbsolutePath() );
}
try {
fos.write( info );
} catch( IOException ioe ) {
System.out.println( "No se puede escribir en el fichero " + nombre.getAbsolutePath() );
} finally {
if( fos != null ) {
try {
fos.close();
} catch( IOException ioe ) {
System.out.println( "No se puede cerrar el fichero " + nombre.getAbsolutePath() );
}
}
}
}
public static void escribirChar( String nombre, char [] info, boolean agregar ) {
FileWriter fos = null;
File archivo = null;
try {
archivo = new File( nombre );
fos = new FileWriter( archivo, agregar );
} catch( IOException ioe ) {
System.out.println( "Error de acceso al fichero " + archivo.getAbsolutePath() );
}
try {
fos.write( info );
} catch( IOException ioe ) {
System.out.println( "No se puede escribir en el fichero " + archivo.getAbsolutePath() );
} finally {
if( fos != null ) {
try {
fos.close();
} catch( IOException ioe ) {
System.out.println( "No se puede cerrar el fichero " + archivo.getAbsolutePath() );
}
}
}
}
public static void escribirChar( File nombre, char [] info, boolean agregar ) {
FileWriter fos = null;
try {
fos = new FileWriter( nombre, agregar );
} catch( IOException ioe ) {
System.out.println( "Error de acceso al fichero " + nombre.getAbsolutePath() );
}
try {
fos.write( info );
} catch( IOException ioe ) {
System.out.println( "No se puede escribir en el fichero " + nombre.getAbsolutePath() );
} finally {
if( fos != null ) {
try {
fos.close();
} catch( IOException ioe ) {
System.out.println( "No se puede cerrar el fichero " + nombre.getAbsolutePath() );
}
}
}
}
public static void escribirObj( String nombre, Object obj ) {
ObjectOutputStream fos = null;
File archivo = null;
try {
archivo = new File( nombre );
fos = new ObjectOutputStream( new FileOutputStream( archivo ) );
} catch( IOException ioe ) {
System.out.println( "Error de acceso al fichero " + archivo.getAbsolutePath() );
}
try {
fos.writeObject( obj );
} catch( IOException ioe ) {
System.out.println( "No se puede escribir en el fichero " + archivo.getAbsolutePath() );
} finally {
if( fos != null ) {
try {
fos.close();
} catch( IOException ioe ) {
System.out.println( "No se puede cerrar el fichero " + archivo.getAbsolutePath() );
}
}
}
}
public static void escribirObj( File nombre, Object obj ) {
ObjectOutputStream fos = null;
try {
fos = new ObjectOutputStream( new FileOutputStream( nombre ) );
} catch( IOException ioe ) {
System.out.println( "Error de acceso al fichero " + nombre.getAbsolutePath() );
}
try {
fos.writeObject( obj );
} catch( IOException ioe ) {
System.out.println( "No se puede escribir en el fichero " + nombre.getAbsolutePath() );
} finally {
if( fos != null ) {
try {
fos.close();
} catch( IOException ioe ) {
System.out.println( "No se puede cerrar el fichero " + nombre.getAbsolutePath() );
}
}
}
}
public static String leerFichero( String nombre ) {
FileReader fis = null;
File archivo = new File( nombre );
try {
fis = new FileReader( archivo );
} catch( FileNotFoundException fnfe ) {
System.out.println( "Error de acceso al fichero " + archivo.getAbsolutePath() );
}
char [] info = new char[ ( int )archivo.length() ];
try {
fis.read( info );
} catch( IOException ioe ) {
System.out.println( "No se puede leer del fichero " + archivo.getAbsolutePath() );
} finally {
if( fis != null ) {
try {
fis.close();
} catch( IOException ioe ) {
System.out.println( "No se puede cerrar el fichero " + archivo.getAbsolutePath() );
}
}
}
return new String( info );
}
public static String leerFichero( File nombre ) {
FileReader fis = null;
try {
fis = new FileReader( nombre );
} catch( FileNotFoundException fnfe ) {
System.out.println( "Error de acceso al fichero " + nombre.getAbsolutePath() );
}
char [] info = new char[ ( int )nombre.length() ];
try {
fis.read( info );
} catch( IOException ioe ) {
System.out.println( "No se puede leer del fichero " + nombre.getAbsolutePath() );
} finally {
if( fis != null ) {
try {
fis.close();
} catch( IOException ioe ) {
System.out.println( "No se puede cerrar el fichero " + nombre.getAbsolutePath() );
}
}
}
return new String( info );
}
public static Object leerObj( String nombre ) {
Object leido = null;
ObjectInputStream fis = null;
File archivo = new File( nombre );
try {
fis = new ObjectInputStream( new FileInputStream( archivo ) );
} catch( IOException ioe ) {
System.out.println( "Error de acceso al fichero " + archivo.getAbsolutePath() );
}
try {
leido = fis.readObject();
} catch( IOException ioe ) {
System.out.println( "No se puede leer del fichero " + archivo.getAbsolutePath() );
} catch( ClassNotFoundException cnfe ) {
System.out.println( "No se puede convertir el objeto leido del fichero " + archivo.getAbsolutePath() );
}finally {
if( fis != null ) {
try {
fis.close();
} catch( IOException ioe ) {
System.out.println( "No se puede cerrar el fichero " + archivo.getAbsolutePath() );
}
}
}
return leido;
}
public static Object leerObj( File nombre ) {
Object leido = null;
ObjectInputStream fis = null;
try {
fis = new ObjectInputStream( new FileInputStream( nombre ) );
} catch( IOException ioe ) {
System.out.println( "Error de acceso al fichero " + nombre.getAbsolutePath() );
}
try {
leido = fis.readObject();
} catch( IOException ioe ) {
System.out.println( "No se puede leer del fichero " + nombre.getAbsolutePath() );
} catch( ClassNotFoundException cnfe ) {
System.out.println( "No se puede convertir el objeto leido del fichero " + nombre.getAbsolutePath() );
}finally {
if( fis != null ) {
try {
fis.close();
} catch( IOException ioe ) {
System.out.println( "No se puede cerrar el fichero " + nombre.getAbsolutePath() );
}
}
}
return leido;
}
}

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas