Java 扫描仪不工作,而缓冲读卡器不工作
我写这段代码是为了从文本文件中删除一个单词,但似乎无法让扫描仪正常工作。它将与Java 扫描仪不工作,而缓冲读卡器不工作,java,file,text,Java,File,Text,我写这段代码是为了从文本文件中删除一个单词,但似乎无法让扫描仪正常工作。它将与bufferedreader一起使用,但我不允许使用它。我做错了什么 public static void Option2Method(String dictionary) throws IOException { File inputFile = new File(dictionary); File tempFile = new File("TempDict.txt"); Stri
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);
}
使用next()
而不是hasNext()
hasNext()
-这将仅说明其输入中是否存在更多令牌
next()
Scanner reader = new Scanner(new File(inputFile));
FileWriter writer = new FileWriter(tempFile);
while(reader.hasNextLine()) {
String currentLine = reader.nextLine();
...
两个类都在同一个System.io.*;您所说的“我不允许使用它”是指项目的一部分,而我们还没有涵盖BufferedReader Yet您可以验证阅读器是否读取该文件吗?
Scanner reader = new Scanner(new File(inputFile));
FileWriter writer = new FileWriter(tempFile);
while(reader.hasNextLine()) {
String currentLine = reader.nextLine();
...