您的位置:首页 > 编程语言 > Java开发

JavaCookbook-9.面向对象的技术10.输入和输出

2013-01-19 17:23 267 查看
大多数情况下,Java程序不需要编写数据结构的代码。默认情况下对象的toString方法返回的是类名符号@对象的hashcode,如果想输出别的信息,需要重写toString方法。

在对象的equals方法中,可以对两个对象进行比较。如果我们需要实现自定义比较,需要覆盖这个方法,这个方法一些需要注意的地方:自反性,对称性,传递性,一致性和谨慎性。

命名的内部类要求独立编译,JVM将其命名为MainClass$InnerClass.class,匿名的内部类命名为MainClass$1.class这些内部类不能脱离上下文关系。

在单例模式中,私有的构造方法阻止了其其它任何类进行实例化。

Java提供了两套用于读写的类,Java.io包中的流用于读写数据字节,Reader和Writer用于处理文本数据。

使用System.in的BufferedInputStream来读取字节,如果要读取文本,一般常用InputStreamReader和BufferedReader。程序运行前system.in和system.out以及system.err关联到了三个流相关的设备上。在处理字符时,需要字符转换器,就是Reader类。

Formatter模仿了C的printf程序,采用的是格式化的代码如”%1$04d%2$f”。但在输出日期时,建议使用DateFormat,因为这样更具有适用性。使用Java.util.Scanner来完成简单的读取任务,Scanner类可以识别Java中的八种类型,该类不提供公用构造器,必须调用静态的create()来或得输入员,输入源是一个File对象、InputStream、String、Readable等。

要读取一个文件,要依次创建FileReader对象和BufferedReader对象。

InputStreamReader和outputStreamWriter类是面向字节流与基本字符Reader之间的桥梁。他们读写字节,同时根据制定的字符编码,实现字节与字符之间的转换。为了防止输出时换行的问题,我们要避免toString方法来返回多行字符串,而是应该采用许多语句输出来输出多行字符串的形式。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: