黑马学习博客七号:IO流
---------------------- ASP.Net+Unity开发、 .Net培训、期待与您交流! ----------------------流是一组有序的数据序列,根据操作的类型可以分为输入和输出两种。IO流提供了一条通道程序,可以使用这条通道把源中的字节序列送到目的地。
Java语言定义了许多类专门负责各种方式的输入输出,这些类都被放在java.io包中。其中,所有的输入流类都是抽象类InputStream或抽象类Reader的子类。而所有输出流都是抽象类OutputStream或抽象类Writer
1:输入/输出流
InputStream | AudioInputStream |
|
ByteArrayInputStream |
| |
StringBufferInputStream |
| |
FileInputStream |
| |
FilterInputStream | BufferedInputStream | |
DataInputStream | ||
PushbackInputStream | ||
InputStream |
| |
ObjectInputStream |
| |
SequenceInputStream |
| |
PipedInputStream |
|
Read():从输入留读取数据的下一个字节。返回0-255范围内的int字节值。如果因为已经到末尾而没有可用字节,则返回-1.
Read(byte[] b)从输入流中读取一定长度的字节,并以整数的形式返回字节数。
Mark(int readlimit)在输入流的当前位置放置一个标记。Readlimit参数告知此输入留在标记位置失效之前允许读取的字节数。
Reset()将输入指针返回到之前所做的标记处。
Skip(long n)跳过输入流上n个字节并返回实际跳过的字节数。
markSupported()判断当前流是否支持mark reset操作。
Close()关闭流。
Reader | CharArrayReader |
|
BufferedReader | LineNumberReader | |
FilterReader | PushBackReader | |
InputStreamReader | FileReader | |
PipedReader |
| |
StringReader |
|
OutputStream | ByteArrayOutputStream |
|
FileOutputStream |
| |
FilterOutputStream | BufferedOutputStream | |
DataOutputStream | ||
... | ||
ObjectOutputStream | OutputStream | |
OutputStream |
| |
PipedOutputStream |
|
Write(int b)将指定字节写入此输出流。
Write(byte[] b)将b个字节从指定的byte数组写入此输出流。
Write(byte[] b, int off, int len)将指定byte数组中从偏移量off开始的len个字节写入此输出流。
Flush()彻底完成输出并清空缓存区。(刷新)
Close()关闭输出流。
Writer | BufferedWriter |
|
CharArrayWriter |
| |
FilterWriter |
| |
OutputStreamWriter | FileWriter | |
PipedWriter |
| |
PrintWriter |
| |
StringWriter |
|
2:File类
File类是代表磁盘文件本身的对象。File类定义了一些与平台无关的方法来操作文件。可以通过调用File类中的方法,实现创建,删除,重命名等操作。
File(String pathname)
File(String parent,String child)
File(File f , String child)
boolean exists() 测试此抽象路径名表示的文件或目录是否存在。
String getName() 返回由此抽象路径名表示的文件或目录的名称。
String getParent() 返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回 null。
File getParentFile() 返回此抽象路径名父目录的抽象路径名;如果此路径名没有指定父目录,则返回 null。
FileInputStream和FileOutputStream都用来操作磁盘文件。
FileReader和FileWriter,避免使用字节流读取汉字时可能导致的乱码现象。
3:带缓存的输入/输出流
对类进行带缓存区的包装以达到性能的优化。
BufferedInputStream(InputStream in)带32个字节的缓存流。
BufferedInputStream(InputStream in,int size)自定义缓存区大小。
BufferedOutputStream(OutputStream in)
BufferedOutputStream(OutputStream in,int size)
BufferedReader
BufferedWriter
4:数据输入/输出流
允许应用程序以与机器无关的方式从底层输入留中读取基本java类型。
DataInputStream(InputStream in)
DataOutputStream(OutputStream out)
---------------------- ASP.Net+Unity开发、 .Net培训、期待与您交流! ----------------------详细请查看: www.itheima.com