Estou tentando pegar uma sequencia de caracteres contida no arq2 e procurando em cada linha se há ocorrencia dessa string em um arq1, em seguida gravar a ocorrencia em um arq3.
O problema é, ou ele nao le linha por linha ou na maioria das vezes ele grava o arquivo em branco.
Alguem pode me ajudar?
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
public class ProcuraAltera {
public static void main(String[] args) {
// TODO Auto-generated method stub
String linha1 = new String();
String linha2 = new String();
linha1 = null;
linha2 = null;
File arquivo1 = new File("C:\\Users\\Murilo\\Desktop\\Projeto3\\arq1.txt");
File arquivo2 = new File("C:\\Users\\Murilo\\Desktop\\Projeto3\\arq2.txt");
File gravacao1 = new File("C:\\Users\\Murilo\\Desktop\\Projeto3\\arq3.txt");
// arq2 tem que ser maior que arq1
if(arquivo1.exists() && arquivo2.exists() && gravacao1.exists()) {
try{
FileReader fr1 = new FileReader(arquivo1);
BufferedReader br1 = new BufferedReader(fr1);
FileReader fr2 = new FileReader(arquivo2);
BufferedReader br2 = new BufferedReader(fr2);
FileWriter filew = new FileWriter(gravacao1);
BufferedWriter grav = new BufferedWriter(filew);
while(linha1 != null){
linha1 = br1.readLine();
while(linha2 != null){
linha2 = br2.readLine();
if(linha2.contains(linha1)) {
grav.write(linha1);
grav.newLine();
System.out.println(linha1);
}
}
}
filew.close();
grav.flush();
grav.close();
}catch (Exception e) {
// TODO: handle exception
}
}
}
}
