Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java IOUtils.write创建新文件,但不';不写数据_Java - Fatal编程技术网

Java IOUtils.write创建新文件,但不';不写数据

Java IOUtils.write创建新文件,但不';不写数据,java,Java,使用IOUtils.write将字符串写入文件 try { IOUtils.write("test", new FileWriter(configFile)); } catch (Exception e) { e.printStackTrace(); } 其中configfile是配置文件的位置(“./resources/config.json”) 这似乎删除了该文件,并将其替换为没有内容的文件 也不会引发任何异常。您需要关闭编写器,或者

使用IOUtils.write将字符串写入文件

    try {
        IOUtils.write("test", new FileWriter(configFile));
    } catch (Exception e) {
        e.printStackTrace();
    }
其中configfile是配置文件的位置(“./resources/config.json”) 这似乎删除了该文件,并将其替换为没有内容的文件


也不会引发任何异常。

您需要关闭编写器,或者使用try with resources。否则,可能无法将所有内容刷新到磁盘:

try (FileWriter fw = new FileWriter(configFile)) {
    IOUtils.write("test", fw);
} catch (IOException e) {
    e.printStackTrace();
}

请确保在使用后关闭流,否则数据可能不会写入文件

 FileWriter fw=null;
 try {
    fw= new FileWriter(configFile);
    IOUtils.write("test",fw);
    }catch (Exception e) {
     e.printStackTrace();
   }finally
   {
    IOUtils.closeQuietly(fw);
   }
请尝试以下代码:

FileWriter fw = null;
try {
    fw  = new FileWriter(configFile);
    IOUtils.write("test", fw);
} catch (IOException e) {
    e.printStackTrace();
} finally {
    if(fw != null)
        fw.close();
}

我将提供使用IOUtils.closeQuietly(fw)方法的方法。在finally块中添加closequilley()只会确保关闭,例如,当刷新失败且try-block中未调用close时。是的,流的关闭应始终写入
finally
,这确保始终执行
close()
。除了
try
中的异常外,它还将确保
close()
针对
try
catch
的意外返回或中断执行