关闭

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

1313人阅读 评论(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重新包装了一下,使之输出更加方便。


使用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属于装饰设计模式


1
0
查看评论

java中讲讲PrintStream的用法,举例?

1.2 PrintStream的用法马克-to-win:从学java第一天,我们就经常用到System.out.println(),实际上查阅文档可知,System.out就是Sun编的一个PrintStream的实例对象。PrintStream顾名思义,Sun编它,就是用来打印的,以各种各样的格式...
  • mark_to_win
  • mark_to_win
  • 2017-05-01 15:02
  • 858

JAVA中常用IO流类: PrintStream和PrintWriter

PrintStream PrintStream在OutputStream基础之上提供了增强的功能,即可以方便地输出各种类型的数据(而不仅限于byte型)的格式化表示形式。PrintStream的方法从不抛出IOEceptin   PrintWriter PrintWrit
  • caixiexin
  • caixiexin
  • 2011-08-25 20:12
  • 40776

PrintStream:

PrintStream: 是一个字节打印流,System.out对应的类型就是PrintStream。 它的构造函数函数可以接收三种数据类型的值。 1,字符串路径。 2,File对象。 3,OutputStream。 PrintWriter: 是一个字符打印
  • shichunle
  • shichunle
  • 2011-09-06 21:57
  • 12228

printStream 和printWriter区别

区别1: rintStream类和PrintWriter类  PrintStream主要操作byte流,而PrintWriter用来操作字符流。读取文本文件时一般用后者。 java的一个字符(char)是16bit的,一个BYTE是8bit的  PrintStrean是写...
  • y3wegy
  • y3wegy
  • 2013-04-10 15:49
  • 28353

printStream(打印流)

打印流(printStream)  打印流可以打印任意类型的数据,而且打印数据之前都会先把数据转换成字符串再进行打印。  使用:  1.把错误日志信息打印在一个文件中记录下来    e.printStackTrace():默认打印在控制台 &...
  • CSDN_GIA
  • CSDN_GIA
  • 2016-11-18 11:09
  • 546

Java_io体系之PrintStream简介、走进源码及示例——09

Java_io体系之PrintStream简介、走进源码及示例——09 PrintStream 1、类功能简介:              字节打印流、功能很强大的一个装饰流、作为FilterInputStream的一...
  • chenghuaying
  • chenghuaying
  • 2013-11-27 21:28
  • 2535

PrintStream

之前所介绍过的Stream输出对象,都是直接将内存中的数据写出至目的地(例如一个档案),举个例子来说,如果您将 int 整数 1 使用之前介绍的Stream对象输出至档案,则档案中所储存的是 int 整数 1 在内存中的值,例如: FileStream.java package onlyfu...
  • mywebstudy
  • mywebstudy
  • 2012-08-15 17:18
  • 1970

JAVA printStream乱码问题

printStream是一个字节流,但是有一个输出字符串的方法,因为之前一直没有注意,今天写一个通信程序的时候出现了乱码,后来发现是这个printSteam.println的问题 即:虽然printSteam可以输出字符串 但是不管这个字符串原来是什么编码 在输出的时候 都会先转化为默认字符编码的...
  • o83290102o5
  • o83290102o5
  • 2016-11-08 17:55
  • 1884

PrintStream和PrintWriter的区别

PrintStream和PrintWriter的API几乎相同,都能输出各种形式的数据,构造方法也几乎相同 PrintWriter多了个接受Writer参数 API比较: 那么,它们的区别究竟在哪里?来自stackflow 主要意思就是,2个类的功能基本相同,PrintStream能做的...
  • zhhtao89
  • zhhtao89
  • 2015-12-01 14:45
  • 1118

PrintStream类和PrintWriter类

PrintStream主要操作byte流,而PrintWriter用来操作字符流。读取文本文件时一般用后者。 java的一个字符(char)是16bit的,一个BYTE是8bit的 PrintStrean是写入一串8bit的数据的。 PrintWriter是写入一串16bit的数据的。...
  • woolnil
  • woolnil
  • 2013-06-28 14:58
  • 3263
    个人资料
    • 访问:451828次
    • 积分:7758
    • 等级:
    • 排名:第3252名
    • 原创:329篇
    • 转载:10篇
    • 译文:0篇
    • 评论:79条
    博客专栏
    最新评论