1、利用文件字节输入输出流完成文件复制
package com.qf.io.learn;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
/**
* 演示:利用文件字节输入输出流完成文件复制*****
*
*/
public class TestFileInputandOutputStreamFileCopy {
public static void main(String[] args) {
// 1.创建流对象
FileInputStream fis = null;
FileOutputStream fos = null;
try {
fis = new FileInputStream(new File("E:\\javaee2207\\abc.txt"));
fos = new FileOutputStream(new File("E:\\javaee2207\\abc副本.txt"));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
// 2.操作
byte[] buf = new byte[1024];
int len;
try {
while ((len = fis.read(buf)) != -1) {
fos.write(buf, 0, len);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
// 3.释放资源
if (fis != null) {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (fos != null) {
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
System.out.println("复制完成");
}
}
}
2、利用文件字节输入输出流完成文件复制
package com.qf.io.learn;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
/**
*
* 演示:利用缓冲字节输入输出流完成文件复制*****
*
*/
public class TestBufferedInputandOutputStreamFileCopy {
public static void main(String[] args) {
// 1.创建流对象
BufferedInputStream bis = null;
BufferedOutputStream bos = null;
try {
bis = new BufferedInputStream(new FileInputStream("E:\\javaee2207\\bbb.txt"));
bos = new BufferedOutputStream(new FileOutputStream("E:\\javaee2207\\bbb副本.txt"));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
// 2.操作
byte[] buf = new byte[2024];
int len;
try {
while ((len = bis.read(buf)) != -1) {
bos.write(buf, 0, len);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
// 3.释放资源
if (bos != null) {
try {
bos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (bis != null) {
try {
bis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
System.out.println("复制成功");
}
}
}
3、递归删除目录
package com.qf.io.t4;
import java.io.File;
/**
* `在这里插入代码片`
* 递归删除目录
*
*/
public class RecursionDeleteDirecter {
public static void main(String[] args) {
deleteDir(new File("E:\\java\\"));
}
public static void deleteDir(File dir) {
File[] files = dir.listFiles();
// 1.判断目录是否为空,如果不为空,递归删除,否则之间删除空目录
try {
if (files != null) {
// 不为空,递归删除
for (File file : files) {
// 判断如果是目录继续遍历
if (file.isDirectory()) {
deleteDir(file);
} else {
// 如果不是目录,就删除
System.out.println(file.toString() + "删除结果:" + file.delete());
}
}
}
System.out.println(dir.toString() + "删除结果:" + dir.delete());
} catch (Exception e) {
e.printStackTrace();
}
}
}