Leer y escribir en um fichero texto

Versiondel bicho
16 de Diciembre del 2003
Estoy haciendo um programa que calcula el area y el perimetro de Rectangulo, cuadrado, circulo y elipse. Que imprima e lee en desde um fichero texto o desde teclado las figuras. Ya hice el calculo del area y del perimetro. No se como leer desde el fichero texto.
Si alguien puede ayudarme estare agradecido.

chuidiang
16 de Diciembre del 2003
Una clase bastante cómoda para leer y escribir en ficheros de texto es

java.io.RandomAccessFile

Se bueno.

PaneB
16 de Diciembre del 2003
La clase RandomAccessFile es lo mejor que hay para gente que viene de C (como fue mi caso) ya que su uso es muy parecido.

Puedes usar la siguiente función para leer un archivo de texto plano (debes incluir java.io.*)

Recibe como parámetro la ruta completa del fichero, devuelve el contenido de este:

public String lee(String nomFichero) throws Exception, IOException, FileNotFoundException {

StringBuffer lineas = new StringBuffer();
String linea;
BufferedReader entrada = null;
try {
entrada = new BufferedReader(new FileReader(nomFichero));
while ( (linea = entrada.readLine()) != null) {
lineas.append(linea);
lineas.append("n");
}
}
catch (FileNotFoundException fnfe) {
throw (new FileNotFoundException("No se ha encontrado el fichero: " +
nomFichero));
}
catch (IOException ioe) {
throw (new IOException("No se ha podido leer el fichero " + nomFichero +
" Motivo: " + ioe.getMessage()));
}
catch (Exception ex) {
throw (new Exception("Imposible leer el fichero de entrada " + nomFichero +
" Motivo: " + ex.getMessage()));
}
finally {
if (entrada != null) {
try {
entrada.close();
}
catch (Exception ex) {}
}
}
return (lineas.toString());
}

Y la siguiente para escribir:

Recibe como parámetros la ruta completa del
fichero a escribir y el contenido de este.

public void escribe(String nomFichero, String contenido) throws IOException {
try {
PrintWriter salida = new PrintWriter(new BufferedWriter(new FileWriter(nomFichero)));
salida.print(contenido);
salida.close();
}
catch (IOException ioe) {
throw (new IOException("Imposible escribir el fichero de salida: " +
nomFichero + " motivo " + ioe.getMessage()));
}
}