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属于装饰设计模式
还没有评论,来说两句吧...