Как писать и читать из одного файла - PullRequest
0 голосов
/ 06 июня 2019

Моя текущая проблема заключается в том, что я хотел бы записывать и читать из файла, однако я продолжаю пытаться генерировать исключения и создавать экземпляры моих переменных только для того, чтобы продолжать получать ошибки о том, как объявленные мной переменные не могли бытьинстанцирован.Я не уверен, как решить эту проблему.

Я пытался использовать PrintWriter и FileWriter, кратко пробовал BufferedWriter и другие решения безрезультатно.Я не знаю, что еще можно попробовать.

{
    public SettingsHandler()
    {
        File configFile=new File(this.getClass().getResource("file").getFile());
        try{
            file = new Scanner(configFile);
        }catch (FileNotFoundException e){
            System.out.println("Config.ini not found");
        }
    }

    public void saveSetting(String setting, String value)
    {
        FileWriter fw;
        try{
            fw = new FileWriter("myfile.txt", true);
        }catch (IOException e){

        }
        BufferedWriter bw = new BufferedWriter(fw);
        PrintWriter out = new PrintWriter(bw);

    }
}

Каждый раз, когда я пытаюсь создать PrintWriter, выдается сообщение об ошибке для параметра bw: «переменная fw, возможно, не инициализирована».

Кто-нибудь знает, как решить эту проблему?

Ответы [ 2 ]

1 голос
/ 06 июня 2019

"переменная fw, возможно, не была инициализирована."

Тебе нужно внимательнее увидеть свой код. IDE видел этот сценарий.

    FileWriter fw;
    try{
        fw = new FileWriter("myfile.txt", true); ==> An exception can happen
    }catch (IOException e){
           nothing to do... 
    }
    BufferedWriter bw = new BufferedWriter(fw); ==> fw is not initialized..
    PrintWriter out = new PrintWriter(bw);

Обходные пути для этого ...

Сценарий 1

    FileWriter fw = null; // Very pointles...
    try{
        fw = new FileWriter("myfile.txt", true);
    }catch (IOException e){

    }
    BufferedWriter bw = new BufferedWriter(fw);
    PrintWriter out = new PrintWriter(bw);

Сценарий 2 Переход к улову попытки

    try{
      FileWriter   fw = new FileWriter("myfile.txt", true); //Well a little better
    BufferedWriter bw = new BufferedWriter(fw);
    PrintWriter out = new PrintWriter(bw);
    }catch (IOException e){

    }

И так далее ...

0 голосов
/ 06 июня 2019

Ошибка «переменная fw, возможно, не была инициализирована» будет устранена простой инициализацией вашей переменной fw в null!

FileWriter fw = null; правильно.

- Спасибо, что спросили.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...