赞
踩
一个流可以理解为一个数据的序列。输入流表示从一个源读取数据,输出流表示向一个目标写数据。
Java系统中,采用“流”的机制来实现输入/输出操作,流实际上是一个数据序列,它可以看成是数据的导管。这个导管只是一个逻辑上的虚拟结构,导管的两端一端是源端,另一端是目的端。数据从源端输人,从目的端输出。流的使用者不用考虑流内部数据是如何传输的,只需要向源端注人数据和从目的端提取数据即可。
流的两端都设置有一定的数据缓冲区暂存数据,这样接收端不用时时刻刻都监视流是否有数据需要接收,数据来了之后先放在缓冲区内,等需要的时候再去读取。而发送端也不必为每一个字节都调用发送方法,而是等聚集了一定数量的数据之后再一起发送,从而可以大大提高发送效率。
java.io包类详情
Java.io 包几乎包含了所有操作输入、输出需要的类。所有这些流类代表了输入源和输出目标。
Java.io 包中的流支持很多种格式,比如:基本类型、对象、本地化字符集等等。
public abstract class InputStream extends Object implements Closeable
此抽象类是表示输入字节流的所有类的超类,不能通过new方法来构造实例。
InputStream in
public class FileInputStream extends InputStream
该流用于从文件读取数据,它的对象可以用关键字 new 来创建。
有多种构造方法可用来创建对象。
FileInputStream f = new FileInputStream("C:/java/hello");
File f = new File("C:/java/hello");
FileInputStream in = new FileInputStream(f);
public abstract class OutputStream extends Object implements Closeable, Flushable
此抽象类是表示输出字节流的所有类的超类,不能通过new方法来构造实例。
OutputStream out
public class FileOutputStream extends OutputStream
该类用来创建一个文件并向文件中写数据。
如果该流在打开文件进行输出前,目标文件不存在,那么该流会创建该文件。
FileOutputStream f = new FileOutputStream("C:/java/hello");
File f = new File("C:/java/hello");
FileOutputStream out = new FileOutputStream(f);
public class PrintStream extends FilterOutputStream implements Appendable, Closeable
PrintStream特点:
1.只负责数据的输出,不负责数据的读取
2.与其他输出流不同,PrintStream 永远不会抛出 IOException
3.有特有的方法,print,println
void print(任意类型的值)
void println(任意类型的值并换行)
PrintStream ps = new PrintStream("C:/java/hello");
System类包含几个有用的类字段和方法。 它无法实例化。 System类提供的设施包括标准输入,标准输出和错误输出流; 访问外部定义的属性和环境变量; 加载文件和库的方法; 以及用于快速复制阵列的一部分的实用方法。
1.重定向标准输入流的成员方法
public static void setIn(InputStream in)
2.重定向标准输出流的成员方法
public static void setOut(PrintStream out)
3.重定向标准错误输出流的成员方法
public static void setErr(PrintStream err)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。