1.递归
(1)方法定义调用方法本身的现象
(2)递归的注意事项
A:要有出口,否则就是死递归
B:次数不能过多,否则就是死递归
C:构造方法不能递归使用
(3)递归的案例
A: 递归求阶乘
B: 兔子问题(裴波纳契数列问题)
C: 递归或输出指定目录下所有指定或追名的文件的绝对路径
D:递归删除带内容的目录(小心使用)
2.IO流
(1)用于在设备间进行数据传输的操作
(2)分类:
A:流向
输入流 读写数据
输出流 写人数据
B:数据类型
字节流:
字节输入流
字节输出流
字符流:
字符输入流
字符输出流
a: 如果问没有明确说明按照什么分,默认按照数据类型分
b:除非文件用Windows自带的记事本打开我们能够读懂,才采用字符流,否则建议使用字节流
(3)FileOutputStream写出数据
A:操作步骤
a:创建字节输出流对象
b:调用write()方法
C:释放资源
B:代码体现
FileOutputStream fos = new FileOutputStream("fos.txt");
fos.write("java".getBytes());
fos.close();
C:注意事项:
a: 创建字节输出流对象做了几件事请
b:为什么要close
c:如何实现数据的换行
d:如何实现数据的追加写入 用构造方法带第二参数是true的情况即可
(4)FileInputStream读取数据
A:操作步骤
a:创建字节输出流对象
b:调用read()方法
c:释放资源
B:代码体现
FileInputStream fis = new FileInputStream("fos.txt");
//方式一
int by = 0;
while((by = fis.read();) != -1){
System.out.println((char) by)
}
fis.close;
//方式二
byte[] by = new byte[1024];
int len = 0;
while((len = fis.read(by)) != -1){
System.out.println(new String(by,0,len))
}
fis.close;
(5)案例:两种实现
A:复制文本文件
B:复制图片
C:复制视频
(6)字节缓冲区流
A:BufferedOutputStream
B:A:BufferedInputStream
(7)案例 四种实现
A:复制文本文件
B:复制图片
C:复制视频
IO流分类
字节流:
InputStream
FileInputStream
BufferedInputStream
OutputStream
FileOutputStream
BufferedOutputStream
字符流:
Reader:
FileReader
BufferReader
Writer
FileWriter
BufferedWriter
递归和IO流总结
猜你喜欢
转载自blog.csdn.net/kaszxc/article/details/108587141
今日推荐
周排行