file

  

package Archive;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class CopyDir {
    public static void main(String[] args) {
        copyDir(new File("D:\收藏"),new File("d:/arch"));
    }
    /**
     * 拷贝目录
     * @param file
     * @param file2
     */
    public static void copyDir(File src, File dest) {
        dest.mkdirs();
        //srcFile是否是文件
        if(src.exists()) {
            //目录
            if(src.isDirectory()) {
                //在dest下创建同名的子目录
                File dir=new File(dest,src.getName());
                dir.mkdirs();
                File[] files=src.listFiles();
                for(File f: files) {
                    copyDir(f,dir);
                }
            }
            //文件
            else {
                //绝对路径
                copyFile(src,dest);
            }
        }
    }
    /**
     * 复制文件
     * @param src
     * @param dest
     */
    private static void copyFile(File srcFile, File destDir) {
        FileInputStream fin=null;
        File destFile = null;
        FileOutputStream fout=null;
        if(!destDir.exists()) {
            destDir.mkdirs();
        }
        try {
            //源文件
            fin = new FileInputStream(srcFile);
            
            //目标文件
            destFile=new File(destDir,srcFile.getName());
            fout=new FileOutputStream(destFile);
            
            int len=-1;
            byte[] buffer=new byte[1024];
            while((len=fin.read(buffer))!=-1) {
                fout.write(buffer,0,len);
            }
            
        } catch (Exception e) {
            e.printStackTrace();
        }
        finally {
            if(fout!=null||fin!=null) {
                try {
                    fout.close();
                    fin.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        
    }
}
package Archive;

import java.io.File;
import java.io.IOException;

import org.junit.jupiter.api.Test;

public class FileRecursiveDemo {
    public static void main(String[] args) {
        showFile("d:/");
    }

    /**
     * 显示文件(文件+文件夹)路径名
     */
    private static void showFile(String path) {
        File f = new File(path);
        if (f.exists()) {
            System.out.println("---------" + f.getAbsolutePath());
            // 是否是目录
            if (f.isDirectory()) {
                // 输出文件绝对路径
                File[] children = f.listFiles();
                if (children == null || children.length == 0) {
                    System.out.println(f.getName() + "空");
                    return;
                }
                for (File ff : children) {
                    String p0 = ff.getAbsolutePath();
                    showFile(p0);
                }
            }
        }
    }
    
    @Test
    public void FileTest() {
        File f =new File("d:/arch/4.txt");
        //文件长度
        long len = f.length();
        System.out.println(len);
        
        //得到上级目录
        String str=f.getParent();
        System.out.println(str);
        
        System.out.println(f.canWrite());
        
        //重命名,方便的剪切操作
        f.renameTo(new File("d:arch","2.txt"));
        
        //
        f=new File("d:/ccc.txt");
        if(!f.exists()) {
            try {
                //创建新文件
                f.createNewFile();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        
        //列出文件系统的root
        File[] fs=File.listRoots();
        for(File f0: fs) {
            System.out.println(f0.getAbsolutePath());
        }
    }
}
package Archive;

import java.io.File;

import org.junit.jupiter.api.Test;

public class FileTest {
    @Test
    public void fileDemo1(){
        File f=new File("d:\arch\1.txt");
        System.out.println(f.exists());
        System.out.println(f.isDirectory());
        
        
        String dir="d:/Project";
        f=new File(dir);
        if(!f.exists()) {
            f.mkdir();
        }
        
        if(f.isDirectory()) {
            File[] files=f.listFiles();
            for(File f0:files) {
                System.out.println(f0.getAbsolutePath());
                
            }
        }
    }
}
原文地址:https://www.cnblogs.com/King-boy/p/11042753.html