public class IO5 {
public static void main(String[] args) throws IOException {
//拷贝文件夹
//首先先有这样一个文件夹
File file = new File("src/com/liu");
copy(file);
}
private static void copy(File file) throws IOException {
//新文件夹
// 1. 先获取文件夹的名字
String path = "aaa/" + file.getName();
// 2. 创建文件夹要存储的路径File对象
File dir = new File(path);
// 3. 创建文件夹
dir.mkdirs();
//原来文件夹下的所有内容
File[] files = file.listFiles();
for (File f : files) {
if (f.isDirectory()) {
copy(f);
} else {
// 为文件创建一个读取流
FileInputStream fis = new FileInputStream(f);
int b;
while ((b = fis.read()) != -1) {
File destionation = new File(path + "/" + f.getName());
destionation.createNewFile();
FileOutputStream fos = new FileOutputStream(destionation);
fos.write(b);
}
}
}
}
}
public class IO6 {
public static void main(String[] args) throws IOException {
File from = new File("src/com/liu");
File to = new File("bbb");
copy(from, to);
}
private static void copy(File from, File to) throws IOException {
// 创建新的目标文件夹
File newDir = new File(to, from.getName());
newDir.mkdirs();
// 处理原文件夹下的所有内容
File[] files = from.listFiles();
for (File f : files) {
if (f.isDirectory()) {
copy(f, newDir); // 递归处理子文件夹
} else {
// 为文件创建读取流和写入流
FileInputStream fis = new FileInputStream(f);
FileOutputStream fos = new FileOutputStream(new File(newDir, f.getName()));
// 使用缓冲区提高效率
byte[] buffer = new byte[1024];
int length;
while ((length = fis.read(buffer)) > 0) {
fos.write(buffer, 0, length);
}
// 关闭流
fos.close();
fis.close();
}
}
}
}
public class IO7 {
public static void main(String[] args) throws IOException {
// 要读取的文件肯定是要存在的
FileInputStream fis = new FileInputStream("C:\\Users\\Administrator\\Desktop\\image-20240722173741395.png");
// 要写入到哪里
FileOutputStream fos = new FileOutputStream("111");
int b;
while((b = fis.read()) != -1) {
fos.write(b ^ 10);
}
fos.close();
fis.close();
}
}
public class IO8 {
public static void main(String[] args) throws IOException {
// 要读取的文件
FileInputStream fis = new FileInputStream("111");
// 要写入到哪里
FileOutputStream fos = new FileOutputStream("222.png");
int b;
while((b = fis.read()) != -1) {
fos.write(b ^ 10);
}
fos.close();
fis.close();
}
}
本文转载自: https://blog.csdn.net/m0_46977298/article/details/140878469
版权归原作者 Yes_LiuSir 所有, 如有侵权,请联系我们删除。
版权归原作者 Yes_LiuSir 所有, 如有侵权,请联系我们删除。