-
文件
-
File类型
-
File类对象可以表示文件和目录
-
创建File对象后可以利用它对文件或目录属性进行操作
-
注:File对象并不能直接对文件内容进行读/写操作,只能查看文件属性
File f1=new File("text.txt");//为当前项目根目录中text.txt构建了一个File对象 File f2=new File("D:\\java\\text.java")//通过绝对路径构建File对象 注: 1.可以指向一个文件,也可以指向一个文件夹 2.注意分隔符转义 3.路径以“/”或“\\”开头,则相对路径的根为当前项目所在磁盘的根目录。 4.不以“/”开头则相对路径的根为项目根目录,而不是当前类所在目录
-
-
File对文件的基础操作
-
掌握常用操作方法
exists ifFile isDirectory getName getAbsolutePath length createNewFile IOException delete listFiles
-
-
-
输出输入流
-
简述输入输出流
-
Java中输入输出流的类型
- 流向方向 依据为内存
- 传输格式 分字节和字符流
-
Java的输入输出流的继承树
- I/O体系
- InputStream基础体系
- OutPutStream基础体系
- Reader基础体系
- Writer基础体系
-
传统输入流的读入线程特性
- java.io.*包 传统I/O操作,进行数据读取操作时,如果无法读取到需要的内容,会导致线程陷入阻塞状态。
-
字节输出流
-
OutputStream:抽象类,提供了Java以字节为单位写入数据的公开接口。
-
字节输出流的统一数据写入方法
void write(byte[],int off,int len); 参数:存放写入数据的byte[] 开始位置 长度
close()//关闭输出流并释放与流有关的所有系统资源 flush()//刷新此输出流并强制写出缓存的输出字节 write(int b)//将指定的字节写入此输出流 write(byte[] b)//相当于调用write(b,0,b.length)
-
-
DataOutput
- 规定一组操作,以一种与机器无关的方式,直接向流中写入基本类型的数据和字符串。 writeXXX()
-
常见字节输出流工具的作用和使用
- FilterOutputStream 封装其他输出流,并为其提供额外的功能。
- 主要实现:
- BufferedOutputStream 为输出流提供缓冲功能
- DataOutputStream 实现DataOutput接口,与DataInputStream配合,允许应用程序以与机器无关的方式从底层输出流读写基本Java数据类型和字符串。
- PrintStream 为其他流添加功能,使他们能方便的打印各种数据值表示形式。
- 主要实现:
- FileOutputStream 向数据文件中写入持久化运算结果 进行文件内容写操作的最基本类工具
- 将内存中数据输出到文件中
- 5中构造方法重载方式
- FilterOutputStream 封装其他输出流,并为其提供额外的功能。
-
字节输入流
-
字节输入流的统一数据读取方法
int read(byte[] b,int off,int len); 返回值:读取到的字节数,如果到结尾则返回-1 参数:存放读取数据的字节数组 偏移量 长度
-
InputStream其他重要的方法
- close available skip read的三种重载方法
-
-
DataInput
- 与DataOutput对应 ,读取DataOutput写入的数据
-
常见字节输入流工具的作用和使用
- 利用输入输出流进行文件移动或拷贝操作。
- 回推:用于输入流,以允许读取字节,然后再返回到流中。PushbackInputStream实现这个思想。
- 标准输入输出 System.in System.out
-
RandomAccessFile 对文件进行随机访问
-
可以在文件任何位置查找或写入数据
-
同时实现DataInput和DataOutput接口
-
磁盘文件都是可以随机访问的,网络中的数据流不是。
RandomAccessFile in=new RandomAccessFile("data.bin","r");//只读方式打开 RandomAccessFile inout=new RandomAccessFile("data.bin","rw");//读写方式打开
-
-
ByteArrayOutputStream/ByteArrayInputStream
-
字符输出流
-
引入目的
- 对于Unicode编码的文件,需要自行将读取到的字节数据根据编码规则还原为字符串,因此有可能出现乱码
- 应用中经常用到Unicode编码的文件
-
字符输出流的统一数据写入方法
abstract void write(char[] cbuf,int off, int len) 参数:同OutputStream cbuf存放要写入数据 开始位置 长度
-
其他重要方法
- close flush write4种重载方法 多了一个写入字符串的方法
-
-
字符输出流工具的作用和使用
- FileWriter
- 文件写入流
- 字符流形式对文件进行写操作。
- 构造方法5种重载方法
- 将逐个往文件写入字符,效率比较低下,常包装到缓冲流中进行操作。
- PrintWriter
- 提供更方便的字符输出格式控制
- FileWriter
-
字符输入流
-
字符输入流的统一数据写入方法
abstract int read(char[] cbur,int off,int len) //返回值:表示本次实际读取到的字符个数,到达末尾则为-1 //参数:存放读取数据的char数组 开始位置 长度
-
-
-
字符输入流工具的作用和使用
-
字节流与字符流的适配器
- InputStreamReader
- OutputStreamWriter
-
-
对象序列化
- 序列化与反序列化
- 序列化框架 Hessian
-
NIO
Java基础七之输入输出总结
最新推荐文章于 2021-11-19 17:47:36 发布