Я хотел знать, как я могу удалить элементы в ArrayList, которые хранятся во внешнем текстовом файле. Я пытаюсь использовать метод Iterator, но не думаю, что делаю это правильно.
Это arraylist, который в основном содержит текстовый файл ответов.
Это метод, который позволяет txt-файлу хранить ArrayList ответов.
public void writeAList(ArrayList<String> list, String filename)
{
if(list != null) {
try (FileWriter writer = new FileWriter(filename, true)) {
for(String item : list) {
writer.write(item.trim());
writer.write(" ");
}
writer.write("\n");
}
catch(IOException e) {
System.out.println("Problem writing file: " + filename +
" in writeAList");
}
}
else {
System.out.println("Null list passed to writeAList.");
}
}
Это метод, который позволяет читать из него
public ArrayList<String> readAList(String filename)
{
ArrayList<String> list = new ArrayList<>();
try (BufferedReader reader =
new BufferedReader(new FileReader(filename))) {
String line = reader.readLine();
while(line != null) {
list.add(line.trim());
line = reader.readLine();
}
}
catch(IOException e) {
System.out.println("Problem reading file: " + filename +
" in readAList");
}
return list;
}
Я назначил ArrayList, называемый так
notRecognised = help.readAList("missed.txt");
И я попытался написать приведенный ниже метод, чтобы иметь возможность удалять ответы из текстового файла, но я не думаю, что написал его правильно.
public String removeResponse(ArrayList<String> words)
{
Iterator<String> it = words.iterator();
while(it.hasNext()) {
String word = it.next();
String response = notRecognised.get(word);
if(response.equals (words)) {
it.remove();
}
}
}