Я написал этот фрагмент кода, и он должен заменить все символы в файле с именем «abc.txt» звездочками. Но когда я запускаю этот код, он просто стирает все в файле. Пожалуйста, помогите мне выяснить, что здесь не так. СпасибоПочему этот кусок кода не работает?
import java.io.*;
import java.util.*;
class Virus{
public static void main(String[] args) throws Exception{
File f = new File("abc.txt");
FileReader fr = new FileReader(f);
FileWriter fw = new FileWriter(f);
int count = 0;
while(fr.read()!=-1){
count++;
}
while(count-->0){
fw.write('*');
}
fw.flush();
fr.close();
fw.close();
}
}
Но сэр Я не понимаю, почему создание FileWriter удаляет содержимое? :/ –
Это режим по умолчанию для открытия файла, усекающий файл, если он существует. – UtsavShah
Поскольку FileWriter очищает файл, если файл уже существует, подготовка файла для записи содержимого. Существует еще один конструктор, который сообщает FileWriter открыть файл для добавления. –