Leer lineas de dos archivos y compararlas
Publicado por Manuel (9 intervenciones) el 25/03/2015 06:02:06
Hola, tengo que hacer un programa que lea linea a linea de dos archivos y las compare, y si la linea se encuentra en los dos archivos, me imprima el nombre del archivo, el numero de la linea, y la linea. El problema que tengo es que no me esta iniciando desde la primera palabra ademas de que una vez termina de leer el segundo archivo, no regresa al inicio del mismo para repetir el ciclo. ¿Saben que puede ser?. Aquí está el código:
Muchas Gracias
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
public class ManejoArchivos {
public static void main(String[] args) throws FileNotFoundException {
Scanner input = new Scanner(System.in);
StringBuilder sb = new StringBuilder();
int lineNumber_1 = 0;
int lineNumber_2 = 0;
System.out.print("Archivo de Salida: ");
String outputFileName = input.next();
// Construct the Scanner and PrintWriter objects for reading and writing
File inputFile_1 = new File("C:\\Users\\ManuelFelipe\\Documents\\NetBeansProjects\\ManejoArchivos\\passwords01.txt");
File inputFile_2 = new File("C:\\Users\\ManuelFelipe\\Documents\\NetBeansProjects\\ManejoArchivos\\passwords02.txt");
FileReader fr_1 = new FileReader(inputFile_1);
FileReader fr_2 = new FileReader(inputFile_2);
BufferedReader in_1 = new BufferedReader(fr_1);
BufferedReader in_2 = new BufferedReader(fr_2);
try {
PrintWriter out = new PrintWriter(outputFileName);
// Read the input and write the output
String line_1 = in_1.readLine();
String line_2 = in_2.readLine();
for (lineNumber_1 = 0; ((line_1 = in_1.readLine()) != null); lineNumber_1++) {
for (lineNumber_2 = 0; ((line_2 = in_2.readLine()) != null); lineNumber_2++) {
if (line_1.equals(line_2)) {
sb.append(inputFile_1.getName());
sb.append("[" + lineNumber_1 + "] - ");
sb.append(inputFile_2.getName());
sb.append("[" + lineNumber_2 + "] - ");
sb.append(line_1 + "\n");
}
}
}
out.println(sb.toString());
in_1.close();
in_2.close();
out.close();
} catch (Exception exc) {
}
}
}
Muchas Gracias
Valora esta pregunta


0