在Java中,所有新的格式化功能都由java.util.Formatter类处理。可以将Formatter看作一个翻译器,他将你的格式化字符串与数据翻译成需要的结果。当你创建一个Formatter对象的时候,需要向其构造器传递一些信息,告诉他最终的结果将向哪里输出:

package com.tij;
//TIJ  P290
import java.io.PrintStream;
import java.util.Formatter;public class Turtle {private String name;private Formatter f;public Turtle(String name,Formatter f){this.name=name;this.f=f;}public void move(int x, int y) {f.format("%s The Turtle is at (%d,%d)\n",name,x,y);}public static void main(String[] args) {PrintStream outAlias=System.out;Turtle tommy = new Turtle("Tommy", new Formatter(System.out));Turtle terry = new Turtle("Terry", new Formatter(outAlias));tommy.move(0,0);terry.move(3,5);tommy.move(2,5);terry.move(2,8);}
}
/*
*output:
Tommy The Turtle is at (0,0)
Terry The Turtle is at (3,5)
Tommy The Turtle is at (2,5)
Terry The Turtle is at (2,8)*/

所有的tommy都将输出到System.out,而所有的terry输出到System.out的一个别名中。Formatter的构造器经过重载可以接受多种输出目的地,不过最常用的还是PrintStream()、OutputStream和File.

练习:修改Turtle.java,使之将结果输出到System.err中。
ps:System.out与System.err的区别:

①java API,文档中给出的解释是:out为“标准输出流”,err为“标准错误输出流”;

②二者显示的颜色有所区别,err输出显示为红色

③err.println输出的字符串位置会随机出现。但,err.println输出的字符串之间的相对位置不会改变,System.out在JVM和操作系统都具有缓存功能,就是你输出的东西不一定实时输出,有时候会积攒到一定数量才会输出,System.err会实时输出,单独使用的话可能感觉不到,如果两种方式混合使用就会发现了 。

Formatter类相关推荐

  1. 字符串格式化:Formatter类

    本文目录 1 Formatter类 2 格式化说明符 3 其它相关方法 4 相关文章 1 Formatter类 1.1 使用方法 Formatter formatter = new Formatter ...

  2. formatter java_Java笔记 - Java中的格式化输出,Formatter类的介绍

    本文主要内容 1.System.out.format()格式化方法的介绍(): 2.Formatter类的介绍和使用:初始化需要传入用于输出的介质,如System.out: 3.格式化说明符:form ...

  3. Java工具包中的Formatter类

    本文目录 查看全文 http://www.taodudu.cc/news/show-3551048.html 相关文章: formatter 作用 java formatter 填充_Java For ...

  4. java的formatter_Java Formatter类的使用以及输出到文件

    在Java中,所有新的格式化功能都由java.utilFormatter类处理. 可以将Formatter看作是一个翻译器,它将你的格式字符串与数据翻译成需要结果. 当你创建一个Formatter对象 ...

  5. Spring MVC-06循序渐进之Converter和Formatter

    概述 converter Step 1 实现Converter接口 Step 2 SpringMVC配置文件中配置bean及设置conversion-service属性 小Demo formatter ...

  6. Java.util包中常用的类

    Java.util包 Java.util.ArrayDeque类 Java.util.ArrayList类 Java.util.Arrays类 Java.util.BitSet类 Java.util. ...

  7. Java基础(三十五)Math、Random类和数字格式化(String.format方法)

    一.Math类 Math类常用的方法: public static long abs (double a) 返回a的绝对值 public static double max (double a,dou ...

  8. android Formatter 的使用

    今天,简单讲讲android里的关于Formatter 的使用.  这几天换租房的位置,好累啊.弄得我写博客的习惯都没有按时完成.之前,我在看String.format的源码时,发现了String ...

  9. formatter java_Java编程中的Java Formatter是什么?

    Java编程中的Java Formatter是什么? 作者:admin 分类:PHP, JAVA, .NET文章 时间:2017-03-30 21:13:02 点击量:1428 Java Format ...

最新文章

  1. 测试报告-1.1组成和要点
  2. TCP协议、算法和原理
  3. string find简析
  4. URAL 2047 Maths 打表 递推
  5. php打印mysql sql_php的打印sql语句的方法
  6. jQuery中的事件机制与DOM操作
  7. redis集群五种模式(纯概念)
  8. Http Core学习(Http Components 翻译和学习)
  9. java关闭流方法,Java关闭流方法总结
  10. ramda 函数 Object
  11. JavaScript 设计模式 —— 单例模式
  12. 办公一定要有哪些基础软件?
  13. 记一次某制造业ERP系统 CPU打爆事故分析
  14. windows环境中java jdk环境配置
  15. 复盘:企业微信中国发展简史
  16. 芯片制作 | 和我一起来卷芯片
  17. Unity笔记-29-ARPG游戏项目-12-完善弓箭
  18. 学校做计算机教室锐捷,云课堂:让学生爱上每一节课
  19. win10黑屏Duilib资源加载失败
  20. XcodeDebug---Instrument

热门文章

  1. 爱玩游戏但是不知道3D游戏建模是什么?
  2. 怎样使用PDF阅读器浏览查看PDF文档
  3. Python编程:几个基于Django的CMS内容管理系统
  4. 王者服务器维护什么时间结束s22,王者荣耀S22赛季
  5. 台式计算机如何设置三道密码,给win7电脑设置三级密码的详细步骤
  6. Python实现排列组合C(n,m) 和 A(n,m)
  7. 信息系统项目管理师(2022年)—— 重点内容:项目组合管理(19)
  8. Linux:如何创建用户
  9. 见证历史!苹果官宣:Mac 正式踢开 Intel,iOS 与 macOS 全面融合,但它还在向微信学习...
  10. Android项目实战--手机卫士15--设置手机归属地的样式以及显示位置