目录
1. 打印流概述
PrintStream 为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式。
打印流具有如下特点:
- 只负责数据的输出,不负责数据的读取
- 永远不会抛出 IOException
- 有特有的输出方法:print( )、println( )
- 所有的数据都会被 String.valueOf( ) 转换为字符串输出
2. 打印流的使用
(1)常用构造方法
PrintStream(File file) 创建具有指定文件且不带自动行刷新的新打印流。 |
PrintStream(String fileName) 创建具有指定文件名称且不带自动行刷新的新打印流。 |
PrintStream(OutputStream out) 创建新的打印流。 |
PrintStream(OutputStream out, boolean autoFlush) 创建新的打印流。 |
PrintStream(OutputStream out, boolean autoFlush, String encoding) 创建新的打印流。 |
(2)常用成员方法
void | print() 可打印基本数据类型、字符串、数组以及对象 |
void | println() 通过写入行分隔符字符串终止当前行。 |
(3)使用打印流输出信息
@Test
public void print() throws FileNotFoundException {
PrintStream ps = new PrintStream("src\\com\\java\\day14\\print.txt");
//打印基本数据类型并换行
ps.println(111);
ps.println(23.5);
ps.println(true);
ps.println('福');
//打印字符串
ps.println();//换行
ps.print("这是一个字符串");
//关闭资源
ps.close();
}
3. 打印流改变输出语句目的地
@Test
public void changeAddress() throws FileNotFoundException {
PrintStream ps = new PrintStream("src\\com\\java\\day14\\print.txt");
//输出语句
System.out.println("默认输出到控制台");
//改变输出语句目的地到print.txt
System.setOut(ps);
System.out.println("输出到文件");
//关闭资源
ps.close();
}
4. 使用打印流记录日志文件
public static void main(String[] args) throws FileNotFoundException {
//日志文件路径
String filePath = "src\\com\\java\\day14\\exception.txt";
//使用文件输出流创建打印流
FileOutputStream bis = new FileOutputStream(filePath,true);
PrintStream ps = new PrintStream(bis);
//错误信息
try{
int[] a = new int[10];
int temp = a[11];
}catch (Exception e){
ps.print(new Date()+" ");
e.printStackTrace(ps);
}
ps.close();
}