Leer un archivo.txt
Necesito hacer un programa de java que lea un archivo.txt y ordene el contenido, como los puedo unir??.
En el código que les muestro esta el método para leer el archivo y para ordenar.
El código que lee el archivo guarda el contenido en la variable “TJ2”, como le digo al método de ordenamiento que me lea esa variable
codigo..
import java.util.Arrays;
public class Archivo {
public static void main(String[] args){
Archivo a = new Archivo();
String tj2 = a.leer("act.txt");
System.out.println(tj2);
String nombres[] = ????;
Arrays.sort(????) ;
System. out.println("\nEl nuevo orden: ");
for (int i = 0; i < nombres. length; i++) {
System.out.print( i + " : " + nombres[i] + " " );
}
System. out.println();
}
public String leer(String nombre)
{
File f;
FileReader lectorArchivo;
try{
f = new File(nombre);
lectorArchivo = new FileReader(f);
BufferedReader br = new BufferedReader(lectorArchivo);
String l="";
String aux="";
while(true)
{
aux=br.readLine();
if(aux!=null)
l=l+aux+"\n";
else
break;
}
br.close();
lectorArchivo.close();
return l;
}catch(IOException e){
System.out.println("Error:"+e.getMessage());
}
return null;
}}
Alguien que me pueda orientar
gracias.
- Inicie sesión o regístrese para enviar comentarios
Podrias leer una lista de lineas
Mmmh es un poco más dificil ordenar un String porque lo que te resultaría sería un string como:
"aaaaaabbbbbbcccccddddeeeeeffff"
Y así, mejor sería que regresaras un arreglo o lista de lineas.
Entonces, en vez de que el método leer regrese un string debe de regresar un arreglo de strings
O mejor aún una lista de Strings
Cada vez que leas una linea, la agregas a la lista:
while ( ... ) {
if ( aux != null ) {
list.add( aux );
}
}
...
return list;
Mejor aún:
whle ( ( linea = br.readLine() ) != null ) {
list.add( linea );
} // cuando linea sea null hace "break" solito
Y luego solo llamas al método sort pero de Collections:
Collections.sort( tj3 );
Espero que esto te sirva.