IO 文件读写和网络,套用 Linux 里的一句话,一切接文件。所以,无论是文件还是网络,都需要打开、建立连接、读写、关闭。
IO
文件对象里面的字节数组,字符数组,字符串,想要更快的读写,打印,就要使用缓冲。文件合并
则使用seq,有多种的输出则是打印
流向分类
输入流:InputStream,Reader
输出流:OutputStream,Writer
字符/字节分类
字符流:Reader,Writer
字节流:InputStream,OutputStream
InputStream
BufferedInputStream | |
FileInputStream | 文件字节输入流 |
ObjectInputStream | 对象流,用于网络传输 |
ByteArrayInputStream | 字节数组输入流,可重复使用 |
DataInputStream |
FileOutputStream | 文件输出流 |
ObjectOutputStream | 对象字节输出流 |
ByteArrayOutputStream | |
DataOutputStream | |
PrintOutputStream | |
BufferedOutputStream |
FileReader | 文件字符输入流 |
CharArrayReader | |
InputStreamReader | |
BufferedReader | |
FileWriter | 文件字符输出流 |
CharArrayWriter | |
OutputStreamWriter | |
BufferedWriter | |
其他独特作用的流
合并流 SequenceInputSteam
将两个输入流合并到 Sequence 中,用于文件合并
随机流 RandomAccessFile
可读,可写,可随机访问写入
NIO
NIO面向缓冲,Buffer,Channel,Selecter