IO包中的其他对象

来源:互联网 发布:中文版音乐制作软件 编辑:程序博客网 时间:2024/04/30 16:02
 

1、          打印流

PrintStream:在OutputStream基础上提供了增强的功能,即可以方便地输出各种类型的数据(而不仅限于byte类型)的格式化表示形式

构造方法:PrintStream可以作为节点流使用而直接关联到文件数据源,也可以作为处理流关联到其他的字节输出流并向其输出数据提供增强的功能

PrintStream(File file)
PrintStream(String fileName)
PrintStream(OutputStream out)
PrintStream(OutputStream out, boolean autoFlush)

PrintStream的方法不抛IOException;而是在异常的情况下设置一个内部标志,可以通过成员方法checkError()测试此标志的值以表明是否出现异常。

System.out就是一个PrintStream类型的对象

PrintWriter:和PrintStream相似,区别在于:作为处理流使用时,PrintStream只能封装OutputStream类型的字节输出流,而PrintWriter既可封装OutputStream,还能够封装Writer类型字符输出流并增强其功能。

构造方法:以接收四种类型的值。
字符串路径File对象
OutputStream

Writer 

//如果既要有自动刷新,又可执行编码。如何创建流对象?

PrintWriter pw = new PrintWriter(new OutputStreamWriter(new FileOutputStream("a.txt"),"utf-8"),true);

//如果想要提高效率,还要使用打印方法。

PrintWriter pw = new PrintWriter(new BufferdWriter(new OutputStreamWriter(new FileOutputStream("a.txt"),"utf-8")),true);

操作基本数据类型的流对像

DataInputStream:属于处理流,它能够以一种与机器无关的方式,直接从底层字节输入流读取Java基本数据类型和String类型的数据。

public DataInputStream(InputStream);
FileInputStream fis=new FileInputStream(“a.txt”);
DataInputStream ds=new DataInputStream(fis);

常用方法
int readInt();    boolean readBoolean();
short readShort();      long readLong();
String readUTF();

DataOutputStream:能够直接将Java基本类型数据写出其他的字节输出流,随后可以使用DataInputStream输入流读取这些数据

构造方法 public DataOutputStream(OutputStream);

常用方法
writeInt(int):一次写入四个字节writeBoolean(boolean);
writeShort(short);
writeLong(long);
writeUTF(String);//按照utf-8修改版将字符数据进行存储,只能通过readUTF读取。

 

原创粉丝点击