我当前的问题是我想写入和读取文件,但是,我一直在尝试引发异常并实例化变量,只是为了不断获取有关我声明为“不可能”的变量的错误实例化。”我不确定如何解决此问题。
我尝试使用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可能尚未初始化。”
有人知道如何解决这个问题吗?
答案 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;是正确的。
-谢谢提问。