一:直接用文件自身进行Copy
package practice0321;
import java.io.File;
//找出E盘下某文件夹中所有的 .txt 文件,拷贝至 E:\某 目录下,并将所有文件的类型由.java 修改为.bat
public class CopyAndMove {
public static void main(String[] args) {
move(new File("E:\\JavaTraining\\JavaEE\\JavaSE\\3-21\\new"));
}
public static void move(File ff) {
File[] files = ff.listFiles();
for (File file : files) {
if(file.isDirectory()) {//如果是一个目录
move(file);
}
else {
if (file.getName().endsWith(".txt")) {
file.renameTo(new File("E:\\JavaTraining\\JavaEE\\JavaSE\\3-21\\copy\\" +
file.getName().substring(0, file.getName().lastIndexOf("."))+".bat"));
}
}
}
}
}
二:借助输入输出流进行Copy
package practice0321;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
//IO输入输出字节流的方式的文件复制
public class IOCopy {
public static void main(String[] args) {
try {
FileInputStream fi1 = new FileInputStream("E:\\JavaTraining\\JavaEE\\JavaSE\\3-21\\new\\123.txt");
FileOutputStream fo1 = new FileOutputStream("E:\\JavaTraining\\JavaEE\\JavaSE\\3-21\\copy\\copy.txt");
int a = 0;
byte[] by = new byte[1024];
a = fi1.read(by);
while (a != -1) {
fo1.write(by, 0, a);
a = fi1.read(by);
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}