Java IO操作——打印流(PrintStream、PrintWriter)的使用

学习目标

掌握打印流的操作

掌握格式化输出

打印流

在整个IO包中,打印流是输出信息做方便的类,主要包含字节打印流(PrintStream)和字符打印流(PrintWriter)。打印流提供了非常方便的打印功能,可以打印任何的数据类型,例如:小数、整数、字符串等等。

回顾:之前在打印信息的时候需要使用OutputStream,但是这样一来,所有的数据输出的时候会非常的麻烦,String——>byte[],打印流中可以方便的进行输出。

PrintStream类的常用方法

1、public PrintStream(File file) throws FileNotFoundException 构造方法 通过一个File对象实例化PrintStream类

2、public PrintStream(OutputStream out) 构造方法 接收OutputStream对象,实例化PrintStream类

3、public PrintStream printf(Locale l, String format, Object ...arg) 普通方法 根据指定的Locale进行格式化输出

4、public PrintStream printf(String format,Object ... arg) 普通方法 根据本地环境进行格式化输出

5、public void print(boolean b) 普通方法 此方法被重载很多次,输出任意数据

6、public void println(boolean b) 普通方法 此方法被重载很多次,输出任意数据后换行

在这个类中国定义了很多print()方法或println()方法。System.out.println,此方法可以打印任意的数据类型。

构造方法:Public PrintStream(OutputStream out) —>指定输出位置,此方法可以接收OutputStream的子类。

打印流的好处:

在PrintStream中定义的构造方法中可以清楚的发现有一个构造方法可以直接接收OutputStream类的实例,这是因为与OutputStream相比起来,PrintStream可以更加方便的输出数据,这就好比将OutputStream重新包装了一下,使之输出更加方便。


使用PrintStream输出信息:

import java.io.* ;
public class PrintDemo01{
	public static void main(String arg[]) throws Exception{
		PrintStream ps = null ;		// 声明打印流对象
		// 如果现在是使用FileOuputStream实例化,意味着所有的输出是向文件之中
		ps = new PrintStream(new FileOutputStream(new File("d:" + File.separator + "test.txt"))) ;
		ps.print("hello ") ;
		ps.println("world!!!") ;
		ps.print("1 + 1 = " + 2) ;
		ps.close() ;
	}
};

格式化输出

在JDK1.5之后,JAVA又对PrintStream类进行了扩充,增加了格式化的输出方式,直接使用printf()方法就可以完成操作,但是在进行格式化输出的时候需要指定其输出的数据类型。

import java.io.* ;
public class PrintDemo02{
	public static void main(String arg[]) throws Exception{
		PrintStream ps = null ;		// 声明打印流对象
		// 如果现在是使用FileOuputStream实例化,意味着所有的输出是向文件之中
		ps = new PrintStream(new FileOutputStream(new File("d:" + File.separator + "test.txt"))) ;
		String name = "刘勋" ;	// 定义字符串
		int age = 23 ;				// 定义整数
		float score = 990.356f ;	// 定义小数
		char sex = 'M' ;			// 定义字符
		ps.printf("姓名:%s;年龄:%d;成绩:%f;性别:%c",name,age,score,sex) ;
		ps.close() ;
	}
};

其实还可以采取更简单的输出方式, 即全部使用 %s 代替

简化输出

import java.io.* ;
public class PrintDemo03{
	public static void main(String arg[]) throws Exception{
		PrintStream ps = null ;		// 声明打印流对象
		// 如果现在是使用FileOuputStream实例化,意味着所有的输出是向文件之中
		ps = new PrintStream(new FileOutputStream(new File("d:" + File.separator + "test.txt"))) ;
		String name = "刘勋" ;	// 定义字符串
		int age = 23 ;				// 定义整数
		float score = 990.356f ;	// 定义小数
		char sex = 'M' ;			// 定义字符
		ps.printf("姓名:%s;年龄:%s;成绩:%s;性别:%s",name,age,score,sex) ;
		ps.close() ;
	}
};

总结:
1、PrintStream可以方便的完成输出的功能
2、在以后的输出中基本使用PrintStream完成,因为很方便
3、PrintStream属于装饰设计模式


  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值