Problemas com replaceall em arquivo de texto

Iai gente, tudo bom?? então o meu problema é o seguinte, estava fazendo a classe que faz a leitura de um arquivo de texto já existente e então faz um replaceall que troca as letras “l” por “u” e quando tem letra “r” ele coloca vazio. Quando compilava esse código ele acabava apagando todas as letras do arquivo de texto e não gerava não escrevia nada no arquivo. Se vcs puderem me ajudar eu ficaria agradecido, desde já obrigado!!

public class ExercicioII {
public static void main(String[] args) {
BufferedReader bf = new BufferedReader(new InputStreamReader (System.in));
BufferedWriter bw;
String linha;
try {
System.out.println("Entre com o nome do arquivo a ser lido: ");
String arq = bf.readLine();
bw = new BufferedWriter(new FileWriter(arq));
bf = new BufferedReader(new FileReader(arq));
while((linha = bf.readLine()) != null){
String linha2 = linha.replaceAll(“r”, “”);
linha = linha.replaceAll(“l”, “u”);
System.out.println(linha2);
bw.write(linha);
}

		bw.close();
		
		
		
	} catch (IOException io) {
		io.printStackTrace();
	}



}

}

Vc está usando o mesmo arquivo para ler e escrever…

Experimente criar um outro arquivo e ir escrevendo nele quando der o replaceAll.

Acabei de perceber aki hehe q eu tava armazenando em uma variável um replace all e o outro replace não… agora to colocando em outro arquivo, mas como aki num tem como compilar fica difícil de ver se funcionou + pra mim a logica tá certa

public class ExercicioII {

public static void main(String[] args) {
	BufferedReader bf = new BufferedReader(new InputStreamReader (System.in));
	BufferedWriter bw;
	 String linha;
	try {
		System.out.println("Entre com o nome do arquivo a ser lido: ");
		String arq = bf.readLine();
		System.out.println("Entre com o nome do arquivo de saida: ");
		String arq2 = bf.readLine();
		bw  = new BufferedWriter(new FileWriter(arq));
		bf = new BufferedReader(new FileReader(arq2));
		while((linha = bf.readLine()) != null){
		linha = linha.replaceAll("r", "");
		linha = linha.replaceAll("l", "u");
		bw.write(linha);
		}    
		bw.close();	
	} catch (IOException io) {
		io.printStackTrace();
	}
}

}