Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 扫描仪不工作,而缓冲读卡器不工作_Java_File_Text - Fatal编程技术网

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();
   ...