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

系统管理员 2022-09-23 15:52 353阅读 0赞

学习目标

掌握打印流的操作

掌握格式化输出

打印流

在整个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重新包装了一下,使之输出更加方便。

Center

使用PrintStream输出信息:

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

Center 1

格式化输出

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

Center 2

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

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

简化输出

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

总结:

1、PrintStream可以方便的完成输出的功能

2、在以后的输出中基本使用PrintStream完成,因为很方便

3、PrintStream属于装饰设计模式

发表评论

表情:
评论列表 (有 0 条评论,353人围观)

还没有评论,来说两句吧...

相关阅读