节点流
文件流:FileInputStream FileOutputStream
FileReader
FileWriter
append()方法
write.append("xsx").append("xxase").append("xsdf);连续写
字节数组流:
ByteArrayInputStream
不用close 、源头由文件换成了一块内存或者说字节数组 没有文件不存在异常由垃圾回收机制释放 方便进行数据的传输 数据快 不建议数据过大 否则内存容易爆满
ByteArrayOutputStream
不需要指定输出位置。 关闭没有效果 内部会分配一个字节数组
有toByteArray()方法 返回byte[] 数组
处理流 要与节点流一起使用
字节流转换成字符流
InputStreamReader 和 OutputStreamWriter
缓冲流
BufferedReader/ BufferedWriter
数据流
DataOutputStream()
DataInputStream()
对象流
ObjectInputStream 和ObjectOutputStream 序列化和反序列化 (Serialization Deserialization)
不是所有的对象都可以序列化 必须实现Se'ri'a'lizable接口
new ObjectOutputStream(new ByteAttrayOutputStream());
打印流
PrintStream 打印流
PrintStream ps= System.out
ps.println()
PrintWriter打印流
RandomAccessFile 随机读取和写入流(节点流)
RandomAccessFile raf =new RandomAccessFile(new File(“ ”))
raf.seek(2)使用这个方法之后表示从第2个字节开始读取
http://commons.apache.org/ 里面的Commons 里面的IO工具包里面的FileUtils工具类
FileUtils.readFileToString( File,"UTF-8")
FileUtils.readFileToByteArray(File)
FileUtils.readLine()
FileUtils.write(file,"xuexi","UTF-8",true);
FileUtils.writeStringToFile(file,"xuexi","UTF-8",true);