javaIO之间关系的理解
- File
- 字节流
- 字符流
File类型
算是io的辅助类吧,这个类包含一些常用的文件操作,比如判断是否存在,是否是一个文件夹,返回文件路径,创建文件,文件夹等等操作,故而把它称之为IO的辅助类。
字节流
-
字节输入流(InputStream)
-
字节输出流(OutputStream)
字节输入流
- AudioInputStream , ByteArrayInputStream , FileInputStream , FilterInputStream , InputStream , ObjectInputStream , PipedInputStream , SequenceInputStream , StringBufferInputStream
- 这是它的所有子类
字节输出流
- ByteArrayOutputStream , FileOutputStream , FilterOutputStream , ObjectOutputStream , OutputStream , PipedOutputStream
- 这是它所有子类
字符输入流
-
字符输入流
-
字符输出流
字符输入流
- 这是它所有的子类
字符输出流
- BufferedWriter , CharArrayWriter , FilterWriter , OutputStreamWriter , PipedWriter , PrintWriter , StringWriter
- 这是它所有的子类
流的概念
什么叫流,java中,流也叫管道流,文件或者或者对象转换成字节流在管道中流动传播,本质就是数据的传播,复制,转移等等。流是有顺序的,有方向的。
流的分类
根据类型:分为字节流和字符流
根据方向:分为输入流和输出流
纯文本中文可以使用字符流,一般文件的拷贝使用字节流最稳妥,因为一个中文占两个byte,有可能出现半边字体的情况。
字节流和字符流的转换
InputStreamReader(字节转字符输入流)
OutputStreamWriter(字节转字符输出流)
OutputStreamWriter(OutStreamout):将字节流以字符流输出。
InputStreamReader(InputStream in):将字节流以字符流输入。