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