ayuda con lectura de ficheros porfa

tojar
11 de Mayo del 2004
hola compañeros. Mi problema es que leo un fichero de texto con read() y controlo el final del fichero con -1, pero ¿como puedo controlar el final de una linea de texto? imagino que debe haber alguna forma, no?

Os agradecería muchisimo algo de ayuda porque llevo una semana buscando y no consigo encontrar nada, muchisimas gracias.

Humberto Prada
11 de Mayo del 2004
Existe la clase BufferedReader que lee un archivo linea a linea:

BufferedReader bufer=new BufferedReader(new FileReader(new File("nombre archivo.ext")));
String arg;
while((arg=new String(bufer.readLine())!=null)
{
su proceso

}

jalo22
11 de Mayo del 2004
este es la clase del fichero
public class Archivo
{

private String archivo=null;
private RandomAccessFile rf=null;
public Archivo(String archivo)
{
this.archivo=archivo;
if(!this.checkFile())
{
System.out.println("ERROR: archivo no se puede abrir "+archivo);
System.exit(0);
}
}

public long getSize()
{
try
{
return rf.length();
}
catch (IOException e)
{
return 0;
}
}

private boolean checkFile()
{
try
{
File archLog = new File(archivo);
if (!archLog.exists())
{
return false;
}
rf = new RandomAccessFile(archivo,"r");
rf.seek(0);
return true;
}
catch (FileNotFoundException f)
{
return false;
}
catch (IOException e)
{
return false;
}
}

public String readLine()
{
try
{
if(rf != null)
{
return rf.readLine();
}
return null;
}
catch (IOException e)
{
return null;
}
}

public void close()
{
try
{
if(rf != null)
{
rf.close();
rf = null;
}
}
catch (IOException e)
{
}
}

public String toString()
{
String s = "Archivo : " + archivo + "n";
s += "largo : " + this.getSize() + "n";
return s;
}
}

y este es para procesar

class principal
{
public static void main(String[] args)throws IOException
{
ListaPersonas lista=new ListaPersonas(10);
Archivo arch=new Archivo("personas.txt");
System.out.println(arch);
String line;

while((line= arch.readLine())!=null)
{
StringTokenizer st = new StringTokenizer(line,",");
while(st.hasMoreTokens())
{
}
}