1、使用File类相关的方法 ,编写删除文件夹的方法
要求:既能删除空文件夹 也能删除非空文件夹
public class Task1 {
public static void deleteDir(File f) {
// 使用File类相关的方法 ,编写删除文件夹的方法
// 要求:既能删除空文件夹 也能删除非空文件夹
if(f.isDirectory()){
File files[]=f.listFiles();
for(int i=0;i< files.length;i++){
deleteDir(files[i]);
}
f.delete();
}
else f.delete();
}
public static void main(String[] args) {
File f = new File("D:\\a");
deleteDir(f);
}
}
2、使用绝对路径,在D盘创建一个testIO文件夹,然后再testIO文件中创建一个1.txt文件中;
使用相对路径,在当前项目下创建一个testIO文件夹,然后再testIO文件中创建一个2.txt文件中
public class Task2 {
public static void main(String[] args) throws IOException {
// 使用绝对路径,在D盘创建一个testIO文件夹,然后再testIO文件中创建一个1.txt文件中;
// 使用相对路径,在当前项目下创建一个testIO文件夹,然后再testIO文件中创建一个2.txt文件中
File dir1=new File("D:\\testIO");
dir1.mkdir();
File f1=new File(dir1,"1.txt");
f1.createNewFile();
File dir2=new File("testIO");
dir2.mkdir();
File f2=new File(dir2,"2.txt");
f2.createNewFile();
}
}
3、文件夹的复制
public class Task3 {
public static void copyDir(File src, File target) throws Exception {
// 文件夹的复制
// 提示:结合 File类 和 字节输入输出流 相关的方法
target.mkdir();
File files[]=src.listFiles();
for (int i = 0; i < files.length; i++) {
if(files[i].isFile())
{
FileInputStream fis=new FileInputStream(files[i]);
FileOutputStream fos=new FileOutputStream(new File(target,files[i].getName()));
int read=-1;
byte bytes[]=new byte[3];
while((read=fis.read(bytes))!=-1)
fos.write(bytes);
fis.close();
fos.close();
}
else {
copyDir(files[i],new File(target,files[i].getName()));
}
}
}
public static void main(String[] args) throws Exception {
File f=new File("D:\\a");
copyDir(f,new File(f.getAbsolutePath()+"_copy"));
}
}