zoukankan      html  css  js  c++  java
  • 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());
                    
                }
            }
        }
    }
  • 相关阅读:
    作为【开发人员】如何持续提升自己的开发技能
    永远不要放弃做梦的权利---与所有程序员们共勉
    十种更好的表达“你的代码写的很烂”的方法---总有些人的代码让人难以忍受
    程序员技术练级攻略--练成这样,成神仙了!
    创业其实是个逻辑问题![想不想创业都来看看]
    多图震撼!数字的未来,2013报告
    记最难忘的一件事 等笑话一箩筐
    HDU4666 Hyperspace(曼哈顿)
    POJ3436 ACM Computer Factory(最大流)
    再思考
  • 原文地址:https://www.cnblogs.com/King-boy/p/11042753.html
Copyright © 2011-2022 走看看