我有一个用默认值填充文件的方法,我在构造函数中调用该方法。我希望这个方法只运行一次(我的意思是只有一次,所以当用户按下播放按钮/在eclipse中/那么该方法将不会在第二次按下时运行。
我尝试过类似的东西,但它不起作用:
private boolean defaultExecuted;
public synchronized void defaultStatsFile()
{
if (defaultExecuted)
{
return;
}
else
{
fileReadNWrite.configWriter("panel1", "non-US incidents");
fileReadNWrite.configWriter("panel2", "Hoaxes");
fileReadNWrite.configWriter("panel3", "Under NUFORC investigation");
fileReadNWrite.configWriter("panel4", "Likliest Shape");
defaultExecuted = true;
}
}
是否有更聪明的方法只填写一次文件?
如果有什么不明确的评论,我会回复。 任何帮助表示赞赏。
答案 0 :(得分:1)
最好在静态块中填充数据
像:在Main类中包含适当的异常处理,这种方式无需依赖构造函数来加载文件中的默认数据。static {
fileReadNWrite.configWriter("panel1", "non-US incidents");
fileReadNWrite.configWriter("panel2", "Hoaxes");
fileReadNWrite.configWriter("panel3", "Under NUFORC investigation");
fileReadNWrite.configWriter("panel4", "Likliest Shape");
defaultExecuted = true;
}
答案 1 :(得分:-1)
因为所有代码都在类中,并且你可以有多个独立的类加载器,你不能在java中这样做,你需要一些java之外的资源。