java 打印流(PrintStream 和PrintWriter )

1.打印流

/*如果使用OutputStream输出数据,需要将数据变为字节数组输出,使用起来不是很方便;
	为了解决使用OutputStream输出数据的不足,java提供了一套专门输出数据的类PrintStream(打印字节流)和PrintWriter(打印字符流);
	public class PrintStream extends FilterOutputStream implements Appendable, Closeable{}
	public class PrintWriter extends Writer {}
	在PrintWriter类中提供了一系列的print()和println();支持各种类型的输出,不再使用write();
	在整个的操作过程中,虽然操作的形式不同,但是本质上仍然是基于Output类的方法完成的;
	这种设计模式,java中叫装饰模式;相当于将一个功能不足的操作类,通过某些类的包装,形成更好用的工具类;
	在实际的开发中,只要是由程序输出内容,都会采用打印流模式完成,但是需要明确的是打印流仍然需要OutputStream的支持;*/
	PrintStream ps1=new PrintStream(new FileOutputStream(new 
    File("D:\\testio\\a.txt")));
    ps1.println(true);
    ps1.println("hello");
    ps1.print(1.2);
    ps1.println(1);
    ps1.println("我是文件的结尾");
    ps1.close();

2.JDk1.5对打印流的支持

/*JDK1.5之后的改进
	  所有的输出数据都要求使用打印流完成,但是JDK1.5之后增加了一种新的输出,格式化输出;
	  public PrintWriter printf(String format,Object... args){}
	  public PrintWriter printf(Locale l,String format,Object... args){}
	 如果需要格式化输出就需要一些标记:
	  整数:%d
	  字符串:%s
	 小数:%f
	 字符:%c*/
	String name="mike";
    int age=18;
    double score=59.444;
	PrintStream ps=new PrintStream(new FileOutputStream(new File("D:\\testio\\a.txt")));
      System.out.printf("姓名:%s,年龄%d,分数%5.2f",name,age,score);//实际开发中不会用到此类输出;
       ps.close();
   /* JDk1.5后String类新增了一个格式化字符串的方法
     public static String format(String format, Object... args)
     */
	String name1="mike";
    int age1=18;
    double score1=59.444;
	String format = String.format("姓名:%s,年龄%d,分数%5.2f", name1,age1,score1);
	System.out.println(format);

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值