Retroceder   Foros del Web > Programación para sitios web > Java y JSP

Respuesta
 
Herramientas Desplegado
Antiguo 03-nov-2004, 17:12   #1 (permalink)
dark_night está en el buen camino
 
Fecha de Ingreso: octubre-2004
Ubicación: chile
Mensajes: 116
Enviar un mensaje por MSN a dark_night
busqueda en archivos

holas

el problema ke tengo es el siguiente.....

tengo un archivo de texto con el sgte formato

palabra1 palabra1b
palabra2 palabra2b
...
...

etc..

el problema es ke el programa tiene ke tomar cada palabra de un textarea y buscarla en el archivo de texto y escribir en otro textarea su correspondiente b(osea lee palabra1 de el area1 busca y escribe palabra1b en el area2)..

la cosa es ke no tengo la menor idea de como hacer eso :(

agradesco cualkiera yuda y sugerencias

gracias
dark_night está desconectado   Responder Citando
Antiguo 04-nov-2004, 14:50   #2 (permalink)
pacoalonso79 está en el buen camino
 
Fecha de Ingreso: agosto-2003
Ubicación: Piura
Mensajes: 226
HOla:
aqui un pequeño algoritmo...
1. recojo los datos de area1
2. separo toda la cadena obtenida en area1 por los espacios en blanco y el resultado lo guardo en un array arrArea1
3. abro el archivo de texto, lo leo y hago las mismas operaciones de antes
4. hago un algoritmo de burbuja y listo...

una implementacion en java...
Código:
import java.io.*;
import javax.swing.*;
import java.awt.event.*;

public class busqueda extends JFrame implements ActionListener{

    JTextArea area1, area2;
    String[] arrArea1;

    public busquda (){
        // creas la gui y todo lo demas...
    }

    // el evento del boton que procesa... es deir el proceso en si
    public void actionPerformed (ActionEvent ae){
        // consiguiendo lo escrito en area1
        String str = area1.getText().trim();

        // pasando al array arrArea1
        arrArea1 = str.split(" ");

        // abrimos el archivo y lo leemos
        try {
            File arch = new File("archivo.txt");
            FileReader fr = new FileReader(fr);

            // leyendo y pasando a un buffer de cadena
            StringBuffer sb = new StringBuffer();
            int c;

            // leyendo y guardando en buffer...
            while ((c = fr.read()) != -1){
                sb.append((char) c);
            }

            // convertimos sb a cadena y la "trozamos" con el split
            String strArch = sb.toSttring();
            String[] arrArch = strArch.split(" ");

            // ahora que ya tenemos dos arrays que los 
            // podemos comparar, hacemos la búsquda...
            for (int i = 0; i < arrArea1.length; i++){
                for (int j = 0; j < arrArch.length; j++){

                    // buscamos si la palabra esta o no...
                    if (arrArea1[i].trim().equalsIgnoreCase(arrArch[j].trim())){
                        // colocamos el elemento de la posicion j + 1 en el area2
                        String s = "A la palabra " + arrArch[j].trim() 
                                   + " le corresponde la palabra "
                                   + arrArch[j + 1].trim();

                        area2.append(s + "\n");
                    }
                }
            }
            
        } catch (Exception e){
            e.printStackTrace();
        }
    }
}
Espero que esto te sirva... para mayores detalles busca la documentacion de las apis de java par que sepas mas de cada clase que estamos usando...

Saludos y éxitos
__________________
Un hombre inteligente, caminando, llega mucho mas rápido que un torpe en coche
pacoalonso79 está desconectado   Responder Citando
Antiguo 04-nov-2004, 16:55   #3 (permalink)
dark_night está en el buen camino
 
Fecha de Ingreso: octubre-2004
Ubicación: chile
Mensajes: 116
Enviar un mensaje por MSN a dark_night
holas..primero ke todo gracias.. me sirvio arto

pero tengo un par de preguntas

primero...me da error con el sb.toSttring(); nose porke...
y en public busqueda va toda la interfaz grafica cierto??


esop..gracias
dark_night está desconectado   Responder Citando
Antiguo 08-nov-2004, 14:19   #4 (permalink)
dark_night está en el buen camino
 
Fecha de Ingreso: octubre-2004
Ubicación: chile
Mensajes: 116
Enviar un mensaje por MSN a dark_night
holas...el codigo ke me diste...no me funciona bien :(...alomejor me exprese mal antes :p

primero solo toma la primera palabra del archivo...nada mas osea el archivo es asi

hola hello
puerta door
ventana window

si en el original pongo hola, en el final pone hello puerta porke????
si pongo puerta o ventana no aparece nada....

como soluciono eso??
grax
dark_night está desconectado   Responder Citando
Antiguo 09-nov-2004, 06:25   #5 (permalink)
pacoalonso79 está en el buen camino
 
Fecha de Ingreso: agosto-2003
Ubicación: Piura
Mensajes: 226
Hola, el código que te he dado no esta probado pues lo hice ahi mismo que lei tu mensaje... incluso lo que te voy a poner ahora no lo he probado pero espero te dé mas luces para tu objetivo final....ahi te va...
Código:
            // convertimos sb a cadena y la "trozamos" con el split
            String strArch = sb.toSttring();
            String[] arrArch = strArch.split("\n");

            // analizamos par por par...
            for (int i = 0; i < arrArea1.length; i++){
                
                String[] par = arrArch[i].ttrim().split(" ");

                String s = "A la palabra " + par[0].trim() 
                           + " le corresponde la palabra "
                           + par[1].trim();

                area2.append(s + "\n");
                
                par = null; s = null;
        }
Creo que ahora este está mejor...
Saludos y éxitos
__________________
Un hombre inteligente, caminando, llega mucho mas rápido que un torpe en coche
pacoalonso79 está desconectado   Responder Citando
Antiguo 09-nov-2004, 15:25   #6 (permalink)
dark_night está en el buen camino
 
Fecha de Ingreso: octubre-2004
Ubicación: chile
Mensajes: 116
Enviar un mensaje por MSN a dark_night
hola denuevo....

ahora el problema es ke la palabra ke se ponga pone hello(ocupo el archivo como lo dije antes)y si se pone mas de 1 palabra pone hello acompañado de las otras palabras del archivo....:S

grax
dark_night está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Desactivado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 14:39.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93