elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Leer archivo txt y pasarlo a un arreglo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Leer archivo txt y pasarlo a un arreglo  (Leído 30,607 veces)
ZedGe

Desconectado Desconectado

Mensajes: 154


Ver Perfil
Leer archivo txt y pasarlo a un arreglo
« en: 8 Junio 2011, 19:43 pm »

Bueno la idea es la siguiente:

Tengo un archivo .txt con el formato:

12345678
87654321
.
.
.
.

en donde cada numero tengo que pasarlo a una posición de un arreglo ej:

arreglo[0]=1
arreglo[1]=2
.......


espero entiendan tengo un código pero me lee los saltos de linea y me llena posiciones con espacios

Código:
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;


public class Main {


public static void main(String[] args) throws IOException {
FileReader entrada=null;
StringBuilder str=new StringBuilder();
char[] datos = new char[24];
int n=0;

try{
BufferedReader fileIn = new BufferedReader(
new FileReader ("u.txt"));
int read = fileIn.read();

while (read != -1){
datos[n]=(char) read;

n++;
read = fileIn.read();

}
}
catch (FileNotFoundException ex)
{
}
catch (IOException ex)
{
}
}
}


En línea

Valkyr


Desconectado Desconectado

Mensajes: 646


Divide y vencerás


Ver Perfil
Re: Leer archivo txt y pasarlo a un arreglo
« Respuesta #1 en: 8 Junio 2011, 20:18 pm »

Pues podrías realizar dos bucles, es decir:
Código
  1. while (read != -1){
  2.        while((char)read!='\n'){
  3.        datos[n]=(char) read;
  4.        n++;
  5.        read = fileIn.read();
  6.        }
  7. read = fileIn.read();
  8. }

Espero que te sirva. Saludos.


En línea

ZedGe

Desconectado Desconectado

Mensajes: 154


Ver Perfil
Re: Leer archivo txt y pasarlo a un arreglo
« Respuesta #2 en: 9 Junio 2011, 17:01 pm »

muchas gracias =D
En línea

barbieturico

Desconectado Desconectado

Mensajes: 29


Ver Perfil
Re: Leer archivo txt y pasarlo a un arreglo
« Respuesta #3 en: 10 Junio 2011, 17:34 pm »

Y así?

Código:
while (read != -1){
    char actual=(char) read;
    if(actual!='\n' && actual!='\r')    {
        datos[n]=actual;
        n++;
    }
    read = fileIn.read();
}

De esta forma te ahorras el anidar dos bucles... ;D
En línea

Valkyr


Desconectado Desconectado

Mensajes: 646


Divide y vencerás


Ver Perfil
Re: Leer archivo txt y pasarlo a un arreglo
« Respuesta #4 en: 11 Junio 2011, 02:18 am »

Apenas existe diferencia, va a ejecutar las mismas veces las instrucciones del IF que al hacer dos bucles while. Lo único, te ahorras una instrucción respecto (leer el siguiente caracter) a lo que propuse.

Saludos.
En línea

ZedGe

Desconectado Desconectado

Mensajes: 154


Ver Perfil
Re: Leer archivo txt y pasarlo a un arreglo
« Respuesta #5 en: 11 Junio 2011, 05:27 am »

muchas gracias me sirvió justo como quería =D

Código:
 try {
            int a=0;
            br = new BufferedReader(new FileReader("DATOS.txt"));
            StringBuilder sb = new StringBuilder();
            String line = br.readLine();
           
            if (line != null) {
              line = br.readLine();
            }
            for (int i = 0; i < sb.length(); i++) {
                datos[a] = sb.charAt(a);
                a++;
            }
           
        } catch (IOException ex) {
            Logger.getLogger(Interfaz.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            try {
                br.close();
            } catch (IOException ex) {
                Logger.getLogger(Interfaz.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
En línea

barbieturico

Desconectado Desconectado

Mensajes: 29


Ver Perfil
Re: Leer archivo txt y pasarlo a un arreglo
« Respuesta #6 en: 11 Junio 2011, 15:14 pm »

Simplemente por costumbre siempre intento anidar el menor número de bucles posible... (creo que de pequeño cogí un trauma o algo jeje)

Supongo que en este caso es prácticamente lo mismo ;D

Saludos!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines