1. 使用File类相关的方法 ,编写删除文件夹的方法
要求:既能删除空文件夹 也能删除非空文件夹
import java.io.File;
public class Task01 {
public static void main(String[] args) {
File file = new File("E:\\test");
deleteFile(file);
}
private static void deleteFile(File file) {
if (file.exists()) {
if (file.isFile()) {
file.delete();
} else {
File[]files=file.listFiles();
if (files.length!=0){
for (File f:files) {
deleteFile(f);
}
file.delete();
}else {
file.delete();
}
}
}else {
System.out.println("文件不存在");
}
}
}
2. 使用绝对路径,在D盘创建一个testIO文件夹,然后再testIO文件中创建一个1.txt文件中;使用相对路径,在当前项目下创建一个testIO文件夹,然后再testIO文件中创建一个2.txt文件中
import java.io.File; import java.io.IOException; public class Task02 { public static void main(String[] args) throws IOException{ File file=new File("D:\\test10"); file.mkdirs(); File file1=new File(file,"1.txt"); file1.createNewFile(); File file2=new File("testIO"); file2.mkdir(); File f2=new File( file2,"2.txt"); f2.createNewFile(); } }
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"));
}
}