驯服Tiger: 格式化输出

J2SE 1.4 版原来的计划是包括对格式化输出的支持。可能由于时间限制及这个功能对新版本的发布不起决定作用的缘故,在发表的版本中没有加入这些功能。现在有了 Tiger,对打印带格式的字符串有了内在支持。

对于那些从一开始就使用 Java 编程而从没有接触过 C 的人,或者,对那些对 C 没有足够了解的人,格式化字符串是一些古怪的文本串,它们指定一组变量的输出特性。不是用加号将字符串连接在一起(如 firstName + " " + lastName ),而是提供一个字符串描述输出,并提供参数以在方法调用结束时,替换字符串中的占位符: String s = String.format("%1$s %2$s", firstName, lastName) 。

Formatter 类

首先,让我们分析新的 java.util.Formatter 类。您可能不会经常直接使用这个类,但是它提供了所要进行的格式化的内部机制。在这个类的 Javadoc 中,会看到一个描述所支持的格式化选项的表。这些选项的范围从以类似 %7.4f 这样的格式指定浮点数的精度和位数,到格式化时间的 %tT ,到格式化第三个参数 %3$s 。

用 Formatter 格式化输出分为两步:创建一个 Appendable 对象以存储输出,用 format() 方法将带格式的内容放到这个对象中。下面列出了 Appendable 接口的实现器:

BufferedWriter

CharArrayWriter

CharBuffer

FileWriter

FilterWriter

LogStream

OutputStreamWriter

PipedWriter

PrintStream

PrintWriter

StringBuffer

StringBuilder

StringWriter

Writer

时间: 2024-12-31 14:16:48

驯服Tiger: 格式化输出的相关文章

c-关于C字符串数组格式化输出的一些小问题

问题描述 关于C字符串数组格式化输出的一些小问题 尝试写了一个输入输出文件和小程序,因为出问题的就只有这两行代码,所以没有把其他代码贴上来 最初代码是这样的 head[][5] char head[][5] = { "id", "name", "age", "grade" }; fprintf ( input_file, "%st%st%st%sn", head[0], head[1], head[2],

Python 3.2官方文档教程之格式化输出

一个程序的输出有好多种方式,数据既可以用人们读懂的形式打印出来或者写入到文件以便将来使用.这章就讨论这些问题. 5.1 格式化输出 目前我们已经接触了两种输出值方式: 表达式语句和print()函数.(第三种就是使用file对象中的write()方法;标准的文件输出可参考sys.stdout库文件) 常常你会想控制输出格式化的数据而不是简单用空格分隔的字符.这里有两种方式用来格式化你的输出数据.第一种方式就是由你自己处理所有的字符串,用字符串中的切分或者链接操作你可以创建任何你想要是的字符.标准

JDK5新特性之新的格式化输出

JDK5.0允许象C语言那样直接用printf()方法来格式化输出,并且提供了许多参数来格式化输入,调用也很简单: System.out.format("Pi is approximately %f", Math.Pi); System.out.printf("Pi is approximately %f", Math.Pi); printf()和 format() 方法具有相同的功能. System.out 是 java.io.PrintStream的实例. Pr

驯服Tiger

JDK 5.0 中最吸引人的地方在于集合框架的一些最突出的特性上,例如:支 持泛型的语言级别上的新变化,以及可以在 java.util.concurrent 包中找到的 并发集合工具包.实际上,以前在 developerWorks 上的"驯服 Tiger: 并发集 合"和"介绍 JDK 5.0 中的泛型"这两篇教程中介绍了上述特性.但是其他增 强还没有得到足够的重视.在本文中,我将研究其他三个变化:更新过的 Arrays 和 Collections 类.新的 Que

tkprof程序产生的格式化输出文件

tkprof的格式化输出文件主要包含: (1)header (2)body (3)summary 1.header: 主要包括一些描述信息,如TKPROF的版本.运行时间,各个统计项的描述.如: TKPROF: Release 8.1.7.0.0 - Production on 星期四 6月 30 13:10:59 2005 (c) Copyright 2000 Oracle Corporation. All rights reserved. Trace file: D:\oracle\admi

驯服Tiger: 并发集合

在 Java 编程的早期阶段,位于 Oswego 市的纽约州立大学(SUNY) 的一位教授决定创建一个简单的库,以帮助开发人员构建可以更好地处理多线程情况的应用程序.这并不是说用现有的库就不能实现,但是就像有了标准网络库一样,用经过调试的.可信任的库更容易自己处理多线程.在 Addision-Wesley 的一本相关书籍的帮助下,这个库变得越来越流行了.最终,作者 Doug Lea 决定设法让它成为 Java 平台的标准部分 -- JSR-166.这个库最后变成了 Tiger 版本的 java.

驯服Tiger: 虚拟机更新

在驯服 Tiger 的这一期中,John Zukowski 介绍了最新的 Java 虚拟机如何改善启动时间.降低内存需求.提高性能.Tiger 提供了共享的数据档案文件.新的线程调度算法以及致命错误处理器(用来处理故障).请在本文附带的 讨论论坛 上与作者和其他读者分享您对本文的想法.(也可以单击本文顶部或底部的 讨论 访问讨论论坛.) 致命错误处理器 JVM 包含几个新的命令行选项.其中一个不太标准的选项是"致命错误处理器".用 -XX:OnError 选项启动 JVM,可以指定在发

python中日期和时间格式化输出的方法小结

 这篇文章主要介绍了python中日期和时间格式化输出的方法,实例总结了Python常见的日期与事件操作技巧,非常具有实用价值,需要的朋友可以参考下     本文实例总结了python中日期和时间格式化输出的方法.分享给大家供大家参考.具体分析如下: python格式化日期时间的函数为datetime.datetime.strftime():由字符串转为日期型的函数为:datetime.datetime.strptime(),两个函数都涉及日期时间的格式化字符串,这里提供详细的代码详细演示了每一

sql时间格式化输出、Convert函数应用示例

  这篇文章主要介绍了sql时间格式化输出.Convert函数应用,需要的朋友可以参考下     这篇文章主要介绍了sql时间格式化输出.Convert函数应用,需要的朋友可以参考下   详细出处参考:Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM  Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06  Select CONVERT(varchar(100), GE