关键:public PrintStream(Outputstream out) ,根据out的类型,进行不同的输出
12.7.1打印流的基本操作
利用Outputstream类可以实现数据的输出操作,但OutputStream类本身只支持字节数据的输出,为了提高输出操作的编写效率,往往会利用打印流来实现输出数据的功能。
在 整 个 IO包 中 , 打 印 流 是 输 出 信 息 最 方 便 的 类 , 主 要 包 含 字 节 打 印 流 ( P r i n t s tr e a m
) 和字符 打 印 流 ( P r i n t w r i t e r
) 。 打 印 流 提 供 了 非 常 方 便 的 打 印 功 能 , 可 以 打 印 任 何 的 数 据 类 型 , 如 小数、整数、字符串等。本章主要使用字节打印流(PrintStream)进行讲解。
PrintStream
是OutputStream
的子类,PrintStream类的常用方法如表。
在P r i n t s t r e a m
类 中 定 义 的 构 造 方 法 中 可 以 清 楚 地 发 现 , 有 一 个 构 造 方 法 可 以 直 接 接 收 Outputstream
类的实例,这是因为与Outputstream
相比起来,PrintStream
可以更加方便地输出数据,这就好比将0utputStream
类重新包装了一下,使之输出更加方便,如图12-10所示。
Printstream类的常用方法
序 方 法 类 型 描 述
1 public PrintStream(File file) throws FileNotFoundException 构造 通过一个File对象实例化PrintStream 类
2 public PrintStream(Outputstream out) 构造 接收0utputStream对象,实例化 PrintStream类
3 public PrintStream printf(Locale I,String format,Object...args) 普通 根据指定的Locale进行格
式化输出
4 public PrintStream print代String format,Object... args) 普通 根据本地环境格式化输出
5 public void print(boolean b) 普通 此方法被重载很多次,输出任意数据
6 public void println(boolear)b) 普通 此方法被重载很多次,输出任意数据后换行
【例12.35]使用PrintStream输出
package jiaqi;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.io.PrintStream;
public class demo403_1
{
public static void main(String[] args)throws Exception
{
String path = "d:" + File.separator + "test.txt";
File f = new File(path);
//此时通过FileOutputStream实例化,意味着所有的输出是向文件之中打印
OutputStream out = new FileOutputStream(f);
//需要OutputStream对象
PrintStream ps = new PrintStream(out);
ps.print("hello!!");
ps.print("acm");
ps.println("acm");
ps.println("acm");
ps.close();
}
}
结果
12.7.2使用打印流进行格式化
【例12.36】格式化输出
package jiaqi;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.io.PrintStream;
public class demo404_1
{
public static void main(String[] args)throws Exception
{
String path = "d:" + File.separator + "test.txt";
File f = new File(path);
//此时通过FileOutputStream实例化,意味着所有的输出是向文件之中打印
OutputStream out = new FileOutputStream(f);
//需要OutputStream对象
PrintStream ps = new PrintStream(out);
String name = "李四";
int age = 30;
float score = 87.3f;
char sex = 'F';
ps.printf("姓名:%s,年龄:%d,分数:%f,性别:%c",name,age,score,sex);
ps.close();
}
}
结果: