• 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());
                    
                }
            }
        }
    }
  • 相关阅读:
    2333
    STL string
    后缀自动机的应用
    省选一轮
    等价类计数问题(Polya定理和burnside引理)
    Prufer序列与树的计数(坑)
    分治算法
    生成函数
    莫队算法
    Xamarin 技术解析
  • 原文地址:https://www.cnblogs.com/King-boy/p/11042753.html
Copyright © 2020-2023  润新知