File类是IO流一定要理解的基础中的基础。上文已经讲了文件都是以字节或者字符的形势在IO中传输。那么怎么操作这些文件呢?
上思维导图
还有文档笔记和代码笔记
以及根据我花的思维导图整理的代码一看就会系列= =
在这里插入代码片package com.qf.homework;
import java.io.File;
public class RecursionSelect {
/*
* 24行的调用:参数aa
* 打印aa --->C:\Ruby\pro\aa
* files[]---> abc.txt,bb
* i = 0
* 调用方法:参数abc.txt C:\Ruby\pro\aa\abc.txt
* i = 1
* 调用方法:参数bb C:\Ruby\pro\aa\bb
*
* files[]--->cc haha.txt
*
* i = 0
* 调用方法:参数 cc C:\Ruby\pro\aa\bb\cc
* files[]---> mm.txt
* i = 0
* 调用方法:参数 mm.txt C:\Ruby\pro\aa\bb\cc\mm.txt
*
* i = 1
* 调用方法:参数 haha.txt C:\Ruby\pro\aa\bb\haha.txt
*
*/
public static void showFiles(File file){
System.out.println(file.toString());//打印file对象
if(file.isDirectory()){
File[] files = file.listFiles();
for(int i=0;i<files.length;i++){
// System.out.println(files[i]);
showFiles( files[i]);//
}
}
}
public static void main(String[] args) {
File file = new File("C:\\Ruby\\pro\\aa");
showFiles(file);
// if(file.isDirectory()){//是文件夹
// //file:aa文件夹--->files,aa文件夹中的子内容:文件和目录
// File[] files = file.listFiles();
// for(int i=0;i<files.length;i++){
// System.out.println(files[i]);//打印输出
// //files[1]:bb文件夹--->files2,bb文件夹中的子内容:文件和目录
// if(files[i].isDirectory()){
// File[] files2 = files[i].listFiles();
// for(int j= 0;j<files2.length;j++){
// System.out.println("--->"+files2[j]);
// }
// }
// }
// }
}
}
这是递归文件夹代码。当然你已经掌握了很多方法所以递归删除。指定位置创建文件夹或者整体转移都是可以实现的。如果你和我一样都是小小白欢迎一起学习啊= =大家互相补充思维导图和代码