Problema con lectura y escritura de ficheros en java

blackdemon
25 de Julio del 2004
Alguien podria decirme como se puede pasar como parametro "un fichero" para continuar leyendolo desde otra funcion.
En C seria algo asi:

void main () {
FILE *fichero;
fichero = fopen("ejemplo1.c", "r");
if (fichero!=NULL){
Leer_Fichero(fichero);
}
fclose(fichero);

return 0;
}
void Leer_Fichero(FILE *fichero){
char txt[80];
while(!feof(fichero)){
fscanf(fichero,"%s",txt);
}
}

blackdemon
25 de Julio del 2004
No se si la cuestión que plantee el otro dia esta bien formulada así que voy ha especificar un poco mas lo que quería preguntar. Mirad es que estoy haciendo una practica para mi universidad y me he quedado encallado en un algoritmo recursivo que había planteado. Este crea un arbol n-ario con la información de un archivo TXT. En cada llamada recursiva se inserta un nodo en el arbol en PREORDEN y para eso leo el fragmento de información que corresponde a ese nodo en el archivo txt. El problema que tengo es que para hacer esto necesito pasar como parametro “el archivo” para que en cada llamada recursiva el algoismo continue leyendo el archivo desde el mismo punto donde lo dejo la anterior llamada. Voy a poner un ejemplo de lo que más o menos planteo, con los errores que he cometido en la práctica.

//archivo con el nombre principal.java
//aquí vendrían los imports correspondientes
public class principal{
public static void main (String arg[]){
try{
//ClaseEjemplo en mi practica seria el arbol n-ario
ClaseEjemplo CE=new ClaseEjemplo();
//A continuacion voy a poner la forma en que yo leo
//el fichero.
FileReader FR=new FileReader(Ejemplo.TXT);
BufferedReader BR=new BufferedReader (FR);
//A continuacion le paso el parametro BR a un
//metodo de la ClaseEjemplo. Puede que no se
//pueda hacer así y que de aquí resida mi error.
CE.MetodoClaseEjemplo(BR);
//cierro el archivo Ejemplo.TXT
BR.close();
}
catch(java.io.IOException e){}
}
}
//archivo ClaseEjemplo.java
public class ClaseEjemplo(){
//aqui vendrian los atributos correspondientes
public ClaseEjemplo(){}//constructor
//Al metodo que viene a continuación le paso como
// parametro un BufferedReader. Creo que no se puede
// hacer asi.
public MetodoClaseEjemplo(BufferReader BR){
String texto=BR.readLine();
}
}

NOTA: Me gustaria que me dijerais que tipo de parametro se le ha de pasar a MetodoClaseEjemplo para que funcionara. O si en vez de FileReader y BufferedReader se habria que utilizar otra cosa.