论坛首页 Java企业应用论坛

java outputstream 写文件断电内容丢失

浏览 2118 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2015-04-20  
/**
     * 写文件的方法
     *
     * @param fileName 文件名
     * @param content 内容
     */
    public static void write(String fileName, String content,boolean append) {
        try {
            File file = new File(fileName);

            // if file doesnt exists, then create it
            //如果父目录不存在,则创建父目录
            if (!file.getParentFile().exists()) {
                createDir(file.getParent());
            }
            //如果文件不存在,则创建文件
            if (!file.exists()) {
                file.createNewFile();
            }
            OutputStream fos = new FileOutputStream(fileName,append);
            OutputStreamWriter out = new OutputStreamWriter(fos,"UTF-8");
            out.write(content + "\n");
            out.flush();
            fos.flush();
            fos.close();
            out.close();

        } catch (IOException e) {
            e.printStackTrace();
        }



在项目中遇到过这种情况,通过上面的这段Java写文件,写完之后断电,重启后,文件内容丢失或者是文件丢失。 请问是不是代码写的有问题,导致文件没有记录成功?还是Windows本身的一些特性导致的文件回滚? 求解决方案! 谢谢!
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics