Java IO【21】PrintWriter的学习

来源:互联网 发布:万网域名证书 编辑:程序博客网 时间:2024/04/28 09:32

        现在很容易就忘记了事情,忘记是在昨天早上还是前天早上做的那件事,忘记本应该现在做的那件事,我感觉是因为生活无限的重复没有标志性的事情,没有令我印象深刻的事情才会有这种感觉和错觉。这就是我现在的生活状态。

       开始技术。其实这个技术很简单可以写也可以不写,但为了记录我的学习过程我还的将其写下来吧。昨天就看了这么一点简单的东西,如若不写昨日就是技术空白了。

      在【20】中讲了PrintSteam,那么接下来就学习了PrintWriter因为在API中俩个是完全挨着的,那么什么是PrintWriter呢。在API中是这样讲的。

    (1)向文本输出流打印对象的格式化表示形式。此类实现在PrintStream 中的所有print 方法。它不包含用于写入原始字节的方法,对于这些字节,程序应该使用未编码的字节流进行写入。

   (2)与 PrintStream 类不同,如果启用了自动刷新,则只有在调用printlnprintfformat 的其中一个方法时才可能完成此操作,而不是每当正好输出换行符时才完成。这些方法使用平台自有的行分隔符概念,而不是换行符。

   (3)此类中的方法不会抛出 I/O 异常,尽管其某些构造方法可能抛出异常。客户端可能会查询调用 checkError() 是否出现错误。

     我自己总结一下就是需要记住几点首先是格式化表示,然后是对3个方法实现自动刷新功能,最后它不用抛出异常。在其构造函数中可以接受 * 1.字符串路径 * 2.File对象 * 3.字节输出流* 4.字符输出流这四个参数。

      现在看看一直简单的小小程序。目的是将输入到控制台的文字或字符写回控制台。

public static void main(String[] args) throws IOException {/* * PrintWriter:字符打印流 * 构造函数参数: * 1.字符串路径 * 2.File对象 * 3.字节输出流 * 4.字符输出流 */BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));PrintWriter out = new PrintWriter(System.out,true);//true自动刷新,只对3个方法有效print println formatString line = null;while((line=bufr.readLine())!=null){if("over".equals(line))break;out.println(line);//out.write("\n");//out.flush();}out.close();bufr.close();}
从这个代码里面可以清楚的看出自动刷新的好处。

       同时可以将输出端改为一个文件,同时实现自动刷新。

PrintWriter out2 = new PrintWriter(new FileWriter("a.txt"),true);

       可以看出这个方法还是很方便的。

0 0
原创粉丝点击