本次复习的是I/O(输入/出)(详细方法的复习)
FileInputStream用于读取本地文件中字节数据
FileOutputStream用于将字节数据写出到文件
FileInputStream([new File()])
文件路径的分割符/或\\
查看实例:https://hi.bccn.net/space-447825-do-blog-id-16977.html
FileReader用于以字符为单位读取文本文件
FileWriter用于以字符为单位写出到文本文件中
文件路径的分割符/或\\
查看实例:https://hi.bccn.net/space-447825-do-blog-id-16978.html
BufferedReader用于缓冲读取字符
BufferedWriter用于缓冲写出字符
以上两个参数是FileReader和FileWriter,
也就是说,一定要有FileReader后才能使用BufferedReader,有FileWriter后才能使用BufferedWriter
其中的读入方法
writerLine()以行为单位的写出数据
newLine()写出一个换行标记
readLine()以行为单位的读入数据
查看实例:https://hi.bccn.net/space-447825-do-blog-id-16979.html
InputStreamReader可封装字节输入流并从中读取字节数据,然后转换为字符
OutputStreamWriter可按照特定的字符编码规则把字符转化为字节写出到它所封装的字节输出
查看实例:https://hi.bccn.net/space-447825-do-blog-id-16980.html
PrintStream在OuptStream基础之上提供了增强的功能,即可以方便地输出程和类型数据
只能封装outputStream类型的字节流
PrintWriter提供了PrintStream的所有打印方法,可以封装outputStream和writer类型的输出流并增强其功能
以上两个方法是不会抛出IOException
查看实例:https://hi.bccn.net/space-447825-do-blog-id-16982.html
DataInputStream和DataOutputStream 分别实现了DataInput和DataOutput的接口
DataInputStream(new FileInputStream([new File()]))或
DataInputStream(InputStream in)
读取方法:read类型()UTF代表String类型
写出方法:write类型()
与平台无关的写入写出流
查看实例: https://hi.bccn.net/space-447825-do-blog-id-16984.html
CharArrayReader实现了一个可用作字符输入流的字符缓冲区
CharArrayWriter实现了一个可当作Writer使用
将值重定向到文件:https://hi.bccn.net/space-447825-do-blog-id-16986.html
标准的错误输出重写向https://hi.bccn.net/space-447825-do-blog-id-16987.html
随机存取文件
RandomAccessFile()
构造方法RandomAccessFile(File,"rw")//rw/r/w读写
getFilePointer()获取文件的指针当前的位置
readUTF()读取一行字符串
WiteInt()写入一个整型
skipBytes()路过字节数
查看实例:https://hi.bccn.net/space-447825-do-blog-id-16988.html
临时文件的创建File.createTempFile("名字","扩展名",null);//为null表示不在C盘的默认下创建
getAbsolutePath();得到临时文件的路径
close()一定要关闭
deleteOnExit()程序退出 时就删除文件
查看实例:https://hi.bccn.net/space-447825-do-blog-id-16989.html
ObjectInputStream(FileInputStream )
ObjectOutputStream(FileOutputStream )对象输入输出
用objectOutputStream写入对象的时候,该对象必须实现Serializable接口
PipedInputStream和PipedOutputStream(管道流)用于线程之间的通信
一个PipedInputStream必须绑定一下PipedOutputStream,相反
实例方法PipedInputStream pis=new PipedInputStream();
PipedOutputStream pos=new PipedOutputStream(pis);
SequenceInputStream类是InputStream的一个子类,使用这个类可以将两个独立的流合并为一个逻辑流
实例方法InputStream is1=new InputStream("f1.date");
InputStream is2=new InputStream("f2.date");
SequenceInputStream sis=new SequenceInputStream(is1,is2);
FilenameFilter是针对文件名的过滤性接口,其中的list()方法可以列出要的文件