Java IO【21】PrintWriter的学习

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

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

      在【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 format
		String 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);

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值