Я пишу этот код, чтобы удалить слово из текстового файла и не могу заставить сканер работать. Он будет работать с bufferedreader
, но я не могу использовать его. Что я здесь делаю неправильно?Сканер не работает вместо буферизованного считывателя
public static void Option2Method(String dictionary) throws IOException
{
File inputFile = new File(dictionary);
File tempFile = new File("TempDict.txt");
String tempword = JOptionPane.showInputDialog(null, "Enter a word to remove");
String lineToRemove = tempword.toLowerCase();
lineToRemove = lineToRemove.replaceAll(",", "");
lineToRemove = lineToRemove.replaceAll("\\.", "");
lineToRemove = lineToRemove.replaceAll("\\?", "");
lineToRemove = lineToRemove.replaceAll(" ", "");
Scanner reader = new Scanner(new File(inputFile));
FileWriter writer = new FileWriter(tempFile);
String currentLine;
while((currentLine = reader.hasNext()) != null)
{
String trimmedLine = currentLine.trim();
if(trimmedLine.equals(lineToRemove)) continue;
writer.write(currentLine + "\n");
}
reader.close();
writer.close();
inputFile.delete();
tempFile.renameTo(inputFile);
}
Оба класса находятся в той же System.IO *. waht вы подразумеваете под «Im не разрешено использовать это» –
Его часть проекта, и мы havent охвачены BufferedReader еще – user2205055
Можете ли вы проверить, читает ли «читатель» файл? – John