如何写入和读取同一文件

时间:2019-06-06 13:12:47

标签: java file-io

我当前的问题是我想写入和读取文件,但是,我一直在尝试引发异常并实例化变量,只是为了不断获取有关我声明为“不可能”的变量的错误实例化。”我不确定如何解决此问题。

我尝试使用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 个答案:

答案 0 :(得分:1)

  

“变量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 catch

    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){

    }

依此类推...

答案 1 :(得分:0)

只需将变量fw初始化为null即可解决“变量fw可能尚未初始化”错误!

  

FileWriter fw = null;是正确的。

-谢谢提问。