使用 bufferwriter.readline() 时找不到符号

Cannot find symbol when using bufferwriter.readline()

我正在尝试学习 java 但我不知道为什么我会到达那里 errors.What 我基本上想要的是用户将输入新字符并将其写入文件只要它不是单词 "stop"(程序在此时终止)。

你们能帮帮我吗?

import java.io.*;
import java.util.*;

class FileHandling{

    public static void main(String args[]){

        System.out.println("Enter a File name");

        Scanner input = new Scanner(System.in);
        String file1Name = input.next();

        if(file1Name == null){
            return;
        }

        try{
            File f1 = new File(file1Name+".txt");
            f1.createNewFile();

            String file1NameData = "";
            String content = input.next();

            FileWriter fileWritter = new FileWriter(f1.getName(),true);
            BufferedWriter bufferWritter = new BufferedWriter(fileWritter);

            while(!(file1NameData=bufferWritter.readLine()).equalsIgnoreCase("stop")){
                bufferWritter.write(file1NameData + System.getProperty("line.separator"));
            }

            bufferWritter.write(file1NameData);
            bufferWritter.close();

        }catch(Exception e){
            System.out.println("Error : " );
            e.printStackTrace();
        }       



    }




}

您正在尝试阅读您无法阅读的作者。您已经有了扫描仪并正在使用它,您可以读取系统输入,即键盘。

将你的行更改为:

来自

while(!(file1NameData=bufferWritter.readLine()).equalsIgnoreCase("stop")){

while(!(file1NameData=input.nextLine()).equalsIgnoreCase("stop")){

您正在尝试从您的输出中读取,而不是您的输入

while(!input.next().equalsIgnoreCase("stop")){
    bufferWritter.write(file1NameData + System.getProperty("line.separator"));
        }
public static void main(String[] args) throws Exception {
    try (BufferedReader reader = new BufferedReader(new InputStreamReader(System.in))) {
        try (BufferedWriter writer = new BufferedWriter(new FileWriter(new File("test.txt"), true))) {

            String line = null;
            while ((line = reader.readLine()) != null) {
                if (line.equals("stop"))
                    break;
                writer.write(line);
                writer.newLine();
            }
        }
    }
}