Foros del Web » Programación para mayores de 30 ;) » Java »

Detectar un salto de linea en un txt

Estas en el tema de Detectar un salto de linea en un txt en el foro de Java en Foros del Web. Primero hola a todos que este es mi primer mensaje en el foro. Os cuento mi proyecto es hacer un PSEUDO-TRADUCTOR. Os cuento mi primera ...
  #1 (permalink)  
Antiguo 20/12/2011, 09:42
 
Fecha de Ingreso: diciembre-2011
Mensajes: 30
Antigüedad: 12 años, 3 meses
Puntos: 0
Detectar un salto de linea en un txt

Primero hola a todos que este es mi primer mensaje en el foro. Os cuento mi proyecto es hacer un PSEUDO-TRADUCTOR. Os cuento mi primera parte y donde me he quedado estancado.

Tengo un archivo txt llamado info donde van las palabras y sus traducciones. Así.

rojo:red
azul:blue

Aquí el codigo:

Código Javascript:
Ver original
  1. public class TraductorV2 {
  2.    
  3.     public static void main (String [] args) throws IOException{
  4.        
  5.         char linea1 []=new char [26];
  6.         char linea2[]=new char[26];
  7.         int i=0;
  8.         int j=0;
  9.  
  10.     FileReader fichero=new FileReader("C:/Pruevas/info.txt");
  11.  
  12.         int entrada=fichero.read(); //UNICODE
  13.  
  14.         while (entrada!=-1){
  15.  
  16.             while ((char)entrada!=SALTO_LINEA){
  17.             linea1[i]=(char)entrada;
  18.             entrada=fichero.read();
  19.             i++;
  20.         }
  21.  
  22.         while ((char)entrada!=SALTO_LINEA) {
  23.             linea2[j]=(char)entrada;
  24.             entrada=fichero.read();
  25.             j++;
  26.  
  27.             }
  28.             entrada=fichero.read();
  29.  
  30.         }
  31.  
  32.         fichero.close();
  33.  
  34.         System.out.print (linea1[2]);
  35.         System.out.print(linea2[3]);
  36.     }
  37. }

Mi problema es que no se como detectart el salto de linea en el txt usando java. Espero que alguien me puede ayudar.

La idea es guardar las palabras en castellano en un array bidimensional caracter por caracter y las palabras en ingles en otra para después poder ir comparando. Se que ahora no está hecho así pero he echo un caso simple para poder solventar mi primer problema.

Gracias.
  #2 (permalink)  
Antiguo 20/12/2011, 10:02
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 12 años, 10 meses
Puntos: 344
Respuesta: Detectar un salto de linea en un txt

Usa la clase BufferedReader para poder usar el método ReadLine.

Te dejo una página donde lo explican un poco:

http://www.mitecnologico.com/Main/BufferedReader
  #3 (permalink)  
Antiguo 20/12/2011, 10:07
 
Fecha de Ingreso: diciembre-2011
Mensajes: 30
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: Detectar un salto de linea en un txt

Si, si se a que te refieres usar el método readLine para crear un String. Pero lo que yo quiero es trabajar caracter a caracter. Para poder separar rojo de red y guardarlo en arrays diferentes.


Se que también podría trabajar con el String como un array. Pero mi idea es trabajar por caracteres de manera individual.

Gracias :D.
  #4 (permalink)  
Antiguo 21/12/2011, 15:50
 
Fecha de Ingreso: diciembre-2011
Mensajes: 30
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: Detectar un salto de linea en un txt

¿Alguna idea?

Gracias :D
  #5 (permalink)  
Antiguo 21/12/2011, 16:11
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 5 meses
Puntos: 454
Respuesta: Detectar un salto de linea en un txt

Hola:

El fin de línea como en cualquier otro lenguaje, tienes que buscar el caracter '\n' si es linux o la pareja de caracteres '\r' y '\n' si estás en windows.

De cualquier forma, si lees como línea en un String, luego

String [] palabras = linea.split(":");

te parte la línea en las dos palabras serparadas por el :

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #6 (permalink)  
Antiguo 22/12/2011, 02:54
 
Fecha de Ingreso: diciembre-2011
Mensajes: 30
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: Detectar un salto de linea en un txt

Lo que pasa es que no podemos utilizar según que cosas... Aquí pongo el ejemplo que he echo ahora y no me funciona. Se me carga la array. Osea se ve que no sale del bucle como si no encuentra salto de linea.

Tengo un archivo de texto con.

uno
dos

Código Javascript:
Ver original
  1. public class Prueva {
  2.    
  3.     static char uno []=new char [20];
  4.     static char dos[]=new char [20];
  5.     static int i=0;
  6.     static int j=0;
  7.  
  8.  
  9.     public static void main (String [] args) throws IOException {
  10.  
  11.  
  12.         FileReader fichero=new FileReader("C:/Pruevas/lista.txt");
  13.  
  14.         int entrada;
  15.  
  16.         entrada=fichero.read();
  17.  
  18.         while (entrada!=-1) {
  19.  
  20.             while ((char)entrada!='\n') {
  21.  
  22.             uno[i]=(char)entrada;
  23.             i++;
  24.             entrada=fichero.read();
  25.  
  26.             }
  27.             entrada=fichero.read();
  28.  
  29.             while ((char)entrada!='\n'){
  30.                 dos[j]=(char)entrada;
  31.                 j++;
  32.                 entrada=fichero.read();
  33.             }
  34.             entrada=fichero.read();
  35.  
  36.  
  37.     }
  38.         fichero.close();
  39.  
  40.         System.out.print (uno[1]);
  41.     }
  #7 (permalink)  
Antiguo 22/12/2011, 03:09
 
Fecha de Ingreso: diciembre-2011
Mensajes: 30
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: Detectar un salto de linea en un txt

Creo que lo tengo solucionado resulta que no tenia en cuenta que la última palabra no tiene salto de linea entonces nunca salia del BUCLE ahora lo implementaré en mi programa i os comento.

Gracias por la ayuda :D.
  #8 (permalink)  
Antiguo 22/12/2011, 12:17
 
Fecha de Ingreso: diciembre-2011
Mensajes: 10
Antigüedad: 12 años, 3 meses
Puntos: 0
Pregunta Respuesta: Detectar un salto de linea en un txt

y? como le fue?

Etiquetas: salto, string, txt
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:58.