Java 如何关闭此文件写入程序?(爪哇,巴基特)

Java 如何关闭此文件写入程序?(爪哇,巴基特),java,plugins,bukkit,Java,Plugins,Bukkit,嘿,伙计们,我知道这听起来很无聊,但我如何关闭这个文件编写器呢。代码是用java编写的。我有一个onDisable()方法,当服务器停止但我放置fw.close()时调用该方法它说,fw无法解析。请帮忙 守则的有关部分如下: try { FileWriter fw = new FileWriter("plugins/TestMessage/messages.txt", true); } catch (IOException e) { e.printStac

嘿,伙计们,我知道这听起来很无聊,但我如何关闭这个文件编写器呢。代码是用java编写的。我有一个
onDisable()
方法,当服务器停止但我放置
fw.close()时调用该方法它说,
fw无法解析
。请帮忙

守则的有关部分如下:

try {
        FileWriter fw = new FileWriter("plugins/TestMessage/messages.txt", true);
    } catch (IOException e) {
        e.printStackTrace();}
    }
编辑:已修复:D

尝试此

public class MAIN extends JavaPlugin{{
    try {
        FileWriter fw = new FileWriter("plugins/TestMessage/messages.txt", true);
    } catch (IOException e) {
        e.printStackTrace();}
    }

    public void onEnable(){
        Logger.getLogger("Minecraft").info("MessageBroadcaster made by cheeseballs500 aka weakwizardsucks2");
    }

    public void onDisable(){
        fw.close();//fw cannot be resolved
    }

尝试在任何方法之外创建
FileWriter
,然后将其设置为
onEnable()
。。。下面是一个例子:

public class MAIN extends JavaPlugin{
public MAIN() {
    try {
        this.fw = new FileWriter("plugins/TestMessage/messages.txt", true);
    } catch (Exception e) {
        // TODO: handle exception
    }

}

FileWriter fw = null;

public void onEnable(){
    Logger.getLogger("Minecraft").info("MessageBroadcaster made by cheeseballs500 aka weakwizardsucks2");
}

public void onDisable(){
    try {
        fw.close();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }//fw cannot be resolved
}
}

好的,我试试看。谢谢I get
默认构造函数无法处理隐式超级构造函数引发的异常类型IOException。必须在新FileWriter(“plugins/TestMessage/messages.txt”,true)下定义带有红色下划线的显式构造函数第7行实际上应该是:fw=newfilewriter(this.getDataFolder()+“/messages.txt”,true)//将变量赋值,并将文件放入插件文件夹中
public class Main extends JavaPlugin{{
    FileWriter fw;//create the variable

    @Override
    public void onEnable(){
        try{
            fw = new FileWriter(this.getDataFolder() + "/messages.txt", true); //assign the variable to a value, and put the file in your plugin's folder
        }
        catch(IOException e){
            e.printStackTrace();
        }
    }

    @Override
    public void onDisable(){
        try{ //try-catch just incase
            fw.close();
        }
        catch(Exception e){
            e.printStackTrace();
        }
    }
}