
个人简介
> 📦个人主页:是Lay的主页
> 🏆学习方向:JAVA后端开发
> 📣种一棵树最好的时间是十年前,其次是现在!
> ⏰往期文章:【Java基础】面向对象进阶(二)
> 🧡喜欢的话麻烦点点关注喔,你们的支持是我的最大动力。
目录
1.4 如何遍历文件夹下的文件对象,使用哪个API,有什么特点?
new File(String pathname) :这个参数是一个String类型的路径名,这个路径可能是:
1)文件的路径 “E:\JT_SOFT\1.txt”
2)文件夹的路径 “E:\JT_SOFT\a”
3)之前不存在的文件/文件夹的路径:这个路径暂时在windows中还未创建出来
注意:new File类的对象只是在内存中多个一个Java对象,并不会真的帮我们在外部创建一个新的文件/文件夹

创建对象定位文件, 可以删除, 获取文件信息等. 但是不能读写文件内容
1). 绝对路径是带盘符的
2). 相对路径是不带盘符的, 默认到当前工程下寻找文件
1). public File[ ] listFiles()(常用)。
2). 只能遍历当前文件夹对象下的一级文件对象。
1). 递归做为一种算法在程序设计语言中广泛应用。
2). 方法调用自身的形式称为方法递归( recursion)。
1). 直接递归:方法自己调用自己。
2). 间接递归:方法调用其他方法,其他方法又回调方法自己。
递归如果没有控制好终止,会出现递归死循环,导致栈内存溢出现象
1). 递归的公式: f(n) = f(n-1) * n;
2). 递归的终结点:f(1)
3). 递归的方向必须走向终结点:
1). 英文和数字等在任何国家的字符集中都占1个字节
2). GBK字符中一个中文字符占2个字节
3). UTF-8编码中一个中文1般占3个字节
1). 必须一致,否则会出现字符乱码
2). 英文和数字不会乱码
String类下的方法:
byte[ ] getBytes():默认编码
byte[ ] getBytes(String charsetName):指定编码
String类的构造器:
String(byte[ ] bytes):使用默认编码解码
String(byte[ ] bytes, String charsetName)):指定编码解码
学习抽象父级的公共方法 学习子类流对象的创建方式
读写文件数据的
字节输入流 InputStream(读字节数据的)
字节输出流 OutoutStream(写字节数据出去的)
字符输入流 Reader(读字符数据的)
字符输出流 Writer(写字符数据出去的)
InputStream--抽象父类--不能实例化
FileInputStream--文件字节输入流-FIS
BufferedInputStream--高效字节输入流-BIS
FIS in = new FIS(new File(路径));
FIS in = new FIS(路径);
BIS in = new BIS( new FIS(new File(路径)));
BIS in = new BIS(new FIS(路径));
OutputStream--抽象父类,不能实例化
FileOutputStream--文件字节输出流--FOS
BufferedOutputStream--高效字节输出流-BOS
FOS out = new FOS(new File(路径));
FOS out = new FOS(路径);
BOS out = new BOS(new FOS(new File(路径)));
BOS out = new BOS(new FOS(路径));
任何文件的底层都是字节,拷贝是一字不漏的转移字节,只要前后文件格式、编码一致没有任何问题。
finally代码块是最终一定要执行的,可以在代码执行完毕的最后用于释放资源。
自动释放资源、代码简洁
