ayuda con files

K-rmelu
16 de Agosto del 2004
Buenas
Alguien sabe si java permite la lectura de ficheros en forma de String, algo asi como esto:

String user;
fParam = new File("Parametre.txt");
fInParam = new FileInputStream(fParam);
BuferedReader EntParam = new BufferedReader (new InputStreamReader(fInParam));
user = fInParam.readLine();

por lo visto la clase FileInputStream no permite leer en forma de String, Solo en forma de byte[] o enteros. Y luego transformar los byte[] a char[] y los char[] a string.
Alguien conoce un metodo mas directo o mas sencillo.
Un Saludo

Isma
16 de Agosto del 2004
Lo que tu código está haciendo es leer sólo una línea del fichero. Lo que tienes que hacer es un bucle que lea mientras no se llegue al final del fichero e ir añadiendo las líneas leídas a una variable de tipo String. De esta forma, al final tendrás todo el fichero en una variable. No estoy muy seguro porque te hablo de memoria, pero tal vez sea algo así:

while (!flnParam.eof()) {
user+=flnParam.readLine();
}

Espero que te sea de ayuda. Un saludo


K-rmelu
16 de Agosto del 2004
No es eso, creo que no me he explicado bien antes.
Veras Isma, lo que ocurre es que java no acepta el metodo readLine() para un fileinputStream.
Solo me deja hacer fInParam.read(byte[]). o eso es lo que yo creo, y hacer las conversiones resulta pesado.
Gracias de todas formas.
Un Saludo

Isma
16 de Agosto del 2004
Vale, ya sé cuál es el problema. No hay que utilizar la clase FileInputStream. En su lugar hay que utilizar FileReader. De todas formas te pongo un ejemplo que tenía por ahí para que veas como se lee de un fichero:

private void leer() throws FileNotFoundException, IOException {
//Fichero del que vamos a leer
File fichero=new File(this.archivo);
//Lector del fichero
FileReader lector=new FileReader(fichero);
BufferedReader fileIn=new BufferedReader(lector);
// Cargamos los arrays con los datos del archivo leído

user+=fileIn.readLine();

fileIn.close();
lector.close();
}