Java复制文件到指定目录、延时重命名

时间:2021-04-06 12:30:31
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

/*
 * 编写程序,将指定目录下所有.java文件拷贝到另一个目的中,并将扩展名改为.txt
 */
public class CopyFile {
    public static void copyFunc(String name){
        try {
            // 读取文件绝对路径
            File file = new File("D:\\FileDemo\\Python\\"+name);
            File tarFile = new File("D:\\FileDemo\\Java\\"+name);
//            tarFile.isDirectory(); 
            // 文件输入输出流
            FileInputStream fis = new FileInputStream(file);
            FileOutputStream fos = new FileOutputStream(tarFile);
            if (file.exists()) {
                int b = 0; 
                // 判断是否到文件结尾
                while ((b = fis.read()) != -1) {    
                    fos.write(b); // 复制旧文件的内容到新文件
                    fos.flush();
                }
            } // 关闭源, 先开的后关,后开的先关
            fos.close();
            fis.close();
            System.out.println("文件复制完毕!");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    public static void reName(String rename){
        File filePre = new File("D:\\FileDemo\\Java\\test1.java");
        File fileNew = new File("D:\\FileDemo\\Java\\"+rename); // 设置新的文件名
        if (!filePre.exists()) { // 判断旧文件是否存在
            System.out.println("文件不存在");
        }else{ // 文件存在就重命名
            filePre.renameTo(fileNew);
            System.out.println("重命名完成!");
        }
    }
    public static void main(String[] args) {
        copyFunc("test1.java");
        try { // 等待2秒 看复制和重命名的切换效果
            Thread.sleep(2000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        reName("myJava.txt");
    }
}