在学系习I/o流之前,先了解了它的概念。java中没有标准的输入输出流语句,在java中将信息的输入与输出过程抽象为输入输出流。输入是指数据流入程序,输出是指数据从
程序流出。
输入输出流按流的方向划分为输入流和输出流;按流的分工划分为节点流和处理流;按流的内容划分为面向字节的流和面向字符的流;
下面来介绍各种流的继承关系及用法:
outinputstream,InputStream,Reader ,Writer的父类是所有类的父类的Object,而outinputstream,InputStream是面向字节的流,Reader ,Writer是面向字符的。Reader的子类有BufferedReader(其子类有LineNumberReader),InputStreamReader(转换流,其子类有FileReader),FilterReader(其子类有PushbackReader),CharArrayReader,PipedReader,StringReader,Writer的子类有BufferedWriter,CharArrayWriter,OutputStreamWriter(其子类有Filewriter)FilterWriter,PipedWriter,StringWriter;
InputStream的子类有AudioInputStream,ByteArrayInputStream,FileInputStream,FilterInputStream,InputStream,
ObjectInputStream,PipedInputStream,SequenceInputStream,StringBufferInputStream
其中FilterInputStream的子类有BufferedInputStream,CheckedInputStream,CipherInputStream,DataInputStream,DeflaterInputStream,DigestInputStream,InflaterInputStream,LineNumberInputStream,ProgressMonitorInputStream,PushbackInputStream
OutputStream的子类有ByteArrayOutputStream,FileOutputStream,FilterOutputStream,ObjectOutputStream,OutputStream,PipedOutputStream
FilterOutputStream的子类BufferedOutputStream,CheckedOutputStream,CipherOutputStream,DataOutputStream,DeflaterOutputStream,DigestOutputStream,InflaterOutputStream,PrintStream
标准输入输出流:System.out,System.in,System.err。可通过SetIn(InputStream)指定新的标准的输入流
SetOut(OutStream)指定新的输出流。
下面介绍个File类:
File类是IO包中唯一代表磁盘文件本身的对象,File类定义了一些与平台无关的方法来操纵文件,通过调用File类提供的各种方法,能够完成创建、删除文件,重命名文件,判断文件的读写权限及文件是否存在,设置和查询文件的最近修改时间等操作 File的方法有canExecute(),isDirectory(),length(),isFile(),exists() ,createNewFile() ,delete(),getAbsoluteFile(),listFiles()等方法 RandomAccessFile类是Java语言中功能最为丰富的文件访问类,它提供了众多的文件访问方法,RandomAccessFile能以只读或读写方式打开文件,使用哪种方式取决于用户创建RandomAccessFile类对象的构造方法 new RandomAccessFile(f,"rw"); // 读写方式 new RandomAccessFile(f,"r"); // 只读方式Java 的流式输入/输出建立在四个抽象类的基础上:InputStream, OutputStream, Reader和Writer,操作文件流时,不管是字节流还是字符流都可以按照以下的方式进行。 ⑴ 使用File类找到一个文件 ⑵ 通过File类的对象去实例化字节流或字符流的子类 ⑶ 进行字节(字符)的读、写操作 ⑷ 关闭文件流管道流主要作用是可以连接两个线程间的通信。管道流也分为字节流(PipedInputStream、PipedOutputStream)与字符流(PipedReader、PipedWriter)两种类型ByteArrayInputStream是输入流的一种实现,它有两个构造方法,每个构造方法都需要一个字节数组来作为其数据源
------- android培训 、 java培训 、期待与您交流! ----------