本章目标
掌握打印流的操作
掌握格式化输出
打印流
在整个IO包中,打印流是输出信息最方便的类,主要包含字节打印流(PrintStream)和字符打印流(PrintWriter)。打印流提供了非常方便的打印功能,可以打印任何的数据类型,例如:小数、整数、字符串等等。
PrintStream类的常用方法
打印流的好处
在PrintStream中定义的构造方法中可以清楚的发现有一个构造方法可以直接接收OutputStream类的实例,这是因为与OutputStream相比起来,PrintStream可以更加方便的输出数据,这就好比将OutputStream类重新包装了一下,使之输出更加方便。
使用PrintStream输出
import java.io.File;
import java.io.FileOutputStream;
import java.io.PrintStream;
public class PrintDemo01{
public static void main(String[] args) throws Exception {//所有异常抛出
PrintStream ps = null;
//此时通过 FileOutputStream 实例化,意味着所有的输出是向文件中打印
ps = new PrintStream(new FileOutputStream("d:"+File.separator+"test.txt"));
ps.print("hello ");
ps.println("world!!!");
ps.print("1+1 = "+2);
ps.close();
}
/* 结果:
* hello world!!!
* 1+1 = 2
* */
}
格式化输出
在JDK 1.5之后,JAVA又对PrintStream类进行了扩充,增加了格式化的输出方式,直接使用printf()方法就可以完成操作,但是在进行格式化输出的时候需要指定其输出的数据类型。
import java.io.File;
import java.io.FileOutputStream;
import java.io.PrintStream;
public class PrintDemo02{
public static void main(String[] args) throws Exception {//所有异常抛出
PrintStream ps = null;
//此时通过 FileOutputStream 实例化,意味着所有的输出是向文件中打印
ps = new PrintStream(new FileOutputStream("d:"+File.separator+"test.txt"));
String name = "李兴华";//定义字符串
int age = 30;//定义整数
float score = 990.4145f;//定义小数
char sex = 'M';//定义字符
//格式化输出,字符串使用%s、 整数使用%d、 小数使用%f、 字符使用%c
ps.printf("姓名:%s; 年龄:%d; 成绩:%f; 性别:%c", name,age,score,sex);
ps.close();
}
/* 结果:
* 姓名:李兴华; 年龄:30; 成绩:990.414490; 性别:M
* */
}
简化输出
如果觉得以上表格中的内容难以理解的话,则全部使用“%s”代替也是可以的,如下所示:
——ps.printf("姓名:%s;年龄:%s;成绩:%s;性别:%s", name,age,score,sex) ;