zoukankan      html  css  js  c++  java
  • 当FileWriter没有flush的时候,不写入文件

    我要实现将写在Console上的内容保存在一个文件里,就是控制台记录器

    先看这个

    public static void main(String[] args) {
            Scanner s = new Scanner(System.in);
            String text = s.nextLine();
            Class clazz;
            try {
                clazz = Class.forName("com.mingrisoft.RecordConsole");
                FileWriter f = new FileWriter("E:\"+clazz.getSimpleName()+".txt");
                f.write(text);
                System.out.println("成功");
                
            } catch (ClassNotFoundException e1) {
                e1.printStackTrace();
            }catch (IOException e) {
                e.printStackTrace();
            }
            
            
            
        }

    已走到"成功",而文件是空的

    当我加上fileWriter.flush()后

    public static void main(String[] args) {
            Scanner s = new Scanner(System.in);
            String text = s.nextLine();
            Class clazz;
            try {
                clazz = Class.forName("com.mingrisoft.RecordConsole");
                FileWriter f = new FileWriter("E:\"+clazz.getSimpleName()+".txt");
                f.write(text);
                System.out.println("成功");
                f.flush();
            } catch (ClassNotFoundException e1) {
                e1.printStackTrace();
            }catch (IOException e) {
                e.printStackTrace();
            }
            
            
            
        }

    说明flush()很重要

    关于flush,如果此流已保存缓冲区中各种write()方法的任何字符,则立即将它们写入预期目标,如果该目标是另一个字符或字节流则刷新,这就是为什么文件内容不是添加,而是只有一条最新运行的。

    close()前会自动执行flush()

    写上close()也很重要

  • 相关阅读:
    IOS创建Button简单实例
    IOSActionSheet、AlertView、Slider、Switch的简单使用
    IOS翻转注意
    [教程]iOS 4 开发的好东西 (资料)url
    Proxy和Decorator模式
    Using JNDI connecting DB
    影片“One Day”,还不错
    Minabased TCP server examples
    MySQL vs. Oracle on sequence
    Java DB and JDBC(Embedded Derby)
  • 原文地址:https://www.cnblogs.com/lonely-buffoon/p/5576119.html
Copyright © 2011-2022 走看看