目录
File类
1. 构造方法,创建,删除,重命名,判断
2. 获取功能
- 第二个返回的File对象,所以不像第一个只能返回字符串,File对象还可以调用它自己方法,如getPath等!
3. 练习:判断目录下是否有.jpg结尾文件,有就输出
第二种方法,文件过滤器
IO流
1. 分类
- 输入流(程序为主体,程序从磁盘读取,所以是输入程序,读取程序,所以输入流!)
- 字节流(1个字节8位)(如:图片,视频等)
- 字符流(便于操作文本数据,比如汉字,1个汉字字符=2字节,如果字节流要拆开,最后组装,很麻烦!)(如:文本文件)
- 一共4中,字节(输入+输出);字符(输入+输出)
2. IO流基类
3 字节流
3.1 FileOutputStream
FileOutputStream(File file)
FileOutputStream(String name)
// 推荐写法
FileOutputStream fos1 = new FileOutputStream("a.txt");
// 2种方法
// File f1 = new File("a.txt");
// FileOutputStream fos2 = new FileOutputStream(f1);
-
文件使用完一定要close,让jvm和os都回收资源
-
读取数据写法
hello
world
java
读取时候状态
hello\r\n
world\r\n
java
第一次读取5个 hello
第二次读取5个 \r\nwor
第三次读取5个 ld\r\nj
第四次读取5个 ava\nj(数组后面的数据是上次的,只是把新读取的3个替换了)
3.2 BufferedOutputStream
4 字符流
4.1 字符流,字节流转换
- 字符流 = 字节流 + 码表
- InputStreamReader和OutputStreamWriter
4.2 InputStreamReader
4.3 OutputStreamWriter
- 写完之后要刷新,让缓冲区数据真正的写入文件
- close和flush区别,看第二张图片
4.4 BufferedWriter
4.5 BufferedReader
4.6 字符缓冲流特殊用法
- newline相当于自动换行,因为linux(\n),windows(\r\n)等换行符不一样,newline可以自动适配
- readline()
4.7 总结
5 操作基本数据类型
6 内存流
7 键盘输入
8 序列化
- transient可以修饰不用序列化的变量