File创建目录

renameTo

    public static void fun1() {
        //同一目录 重命名前的文件不存在 重命名后的文件不存在
        File f1 = new File("file1.txt");
        File f2 = new File("file2.txt");
        boolean result = f1.renameTo(f2);
        System.out.println("---" + result + "---");  // ---false---

        //同一目录 重命名前的文件不存在 重命名后的文件存在
        File f3 = new File("file3.txt");
        File f4 = new File("file4.txt");
        result = f3.renameTo(f4);
        System.out.println("---" + result + "---");  // ---false---

        //同一目录 重命名前的文件存在 重命名后的文件不存在
        File f5 = new File("file5.txt");
        File f6 = new File("file6.txt");
        result = f5.renameTo(f6);
        System.out.println("---" + result + "---"); //---true---

        //同一目录 重命名前的文件存在 重命名后的文件存在
        File f7 = new File("file7.txt");
        File f8 = new File("file8.txt");
        result = f7.renameTo(f8);
        System.out.println("---" + result + "---");  //---true---, 文件被覆盖
        
        //同一目录 重命名前的文件存在 重命名后的文件存在,但是后缀变了
        File f9 = new File("file9.txt");
        File f10 = new File("file10");
        result = f9.renameTo(f10);
        System.out.println("---" + result + "---");  //---true---, 文件被覆盖,并改为新名字file10

        //同一目录 重命名前的文件存在 重命名后的文件名存在同名目录
        File f11 = new File("file11.txt");
        File f12 = new File("file12");
        result = f11.renameTo(f12);
        System.out.println("---" + result + "---");  //---false---, 文件不变,文件夹也不变
    }

 

 

不同目录文件操作:

        

    public static void fun2() {
        //不同目录 重命名前的文件不存在,重命名后的文件不存在
        File f1 = new File("dir1/file1.txt");
        File f2 = new File("dir2/file2.txt");
        boolean result = f1.renameTo(f2);
        System.out.println("---" + result + "---");  // ---false---

        //不同目录 重命名前的文件不存在,重命名后的文件存在
        File f3 = new File("dir1/file3.txt");
        File f4 = new File("dir2/file4.txt");
        result = f3.renameTo(f4);
        System.out.println("---" + result + "---");  // ---false---

        //不同目录 重命名前的文件存在 重命名后的目录不存在
        File f5 = new File("dir1/file5.txt");
        File f6 = new File("dir_not_exist/file6.txt");
        result = f5.renameTo(f6);
        System.out.println("---" + result + "---"); //---false---

        //不同目录 重命名前的文件存在 重命名后的目录存在,文件不存在
        File f7 = new File("dir1/file7.txt");
        File f8 = new File("dir2/file8.txt");
        result = f7.renameTo(f8);
        System.out.println("---" + result + "---"); //---true---file7.txt移到到dir2目录下,且名字改为file8.txt

        //不同目录 重命名前的文件存在 重命名后的目录文件都存在
        File f9 = new File("dir1/file9.txt");
        File f10 = new File("dir2/file10.txt");
        result = f9.renameTo(f10);
        System.out.println("---" + result + "---");  //---true---, file9.txt文件被覆盖file10.txt
    }

 

同一目录目录操作:

  

 

 

 

    public static void fun3() {
        //同一目录 重命名前的文件目录不存在 重命名后的文件目录不存在
        File f1 = new File("dir/dir1");
        File f2 = new File("dir/dir2");
        boolean result = f1.renameTo(f2);
        System.out.println("---" + result + "---");  // ---false---

        //同一目录 重命名前的文件目录不存在 重命名后的文件目录存在
        File f3 = new File("dir/dir3");
        File f4 = new File("dir/dir4");
        result = f3.renameTo(f4);
        System.out.println("---" + result + "---");  // ---false---

        //同一目录 重命名前的文件目录存在 重命名后的文件目录不存在
        File f5 = new File("dir/dir5");
        File f6 = new File("dir/dir6");
        result = f5.renameTo(f6);
        System.out.println("---" + result + "---"); //---true---dir/dir5改为dir/dir6

        //同一目录 重命名前的文件目录存在 重命名后的文件目录存在
        File f7 = new File("dir/dir7");
        File f8 = new File("dir/dir8");
        result = f7.renameTo(f8);
        System.out.println("---" + result + "---");  //---false---, 目录不会覆盖
    }

 

不同目录目录操作:

                   

 

 

 

    public static void fun4() {
        //不同目录 重命名前的文件目录不存在,重命名后的文件目录不存在
        File f1 = new File("test/src/dir/dir1");
        File f2 = new File("test/dest/dir/dir2");
        boolean result = f1.renameTo(f2);
        System.out.println("---" + result + "---");  // ---false---

        //不同目录 重命名前的文件目录不存在,重命名后的文件目录存在
        File f3 = new File("test/src/dir/dir3");
        File f4 = new File("test/dest/dir/dir4");
        result = f3.renameTo(f4);
        System.out.println("---" + result + "---");  // ---false---

        //不同目录 重命名前的文件目录存在 重命名后的目录的父目录不存在
        File f5 = new File("test/src/dir/dir5");
        File f6 = new File("test/dir_not_exist/dir/dir6");
        result = f5.renameTo(f6);
        System.out.println("---" + result + "---"); //---false---

        //不同目录 重命名前的文件目录存在 重命名后的目录的父目录存在,文件目录不存在
        File f7 = new File("test/src/dir/dir7");
        File f8 = new File("test/dest/dir/dir8");
        result = f7.renameTo(f8);
        System.out.println("---" + result + "---"); //---true---

        //不同目录 重命名前的文件目录存在 重命名后的目录和父目录都存在 目的目录无文件
        File f9 = new File("test/src/dir/dir9");
        File f10 = new File("test/dest/dir/dir10");
        result = f9.renameTo(f10);
        System.out.println("---" + result + "---");  //---true--- 目的目录为空,重命名成功

        //不同目录 重命名前的文件目录存在 重命名后的目录和父目录都存在 目的目录有文件
        File f11 = new File("test/src/dir/dir11");
        File f12 = new File("test/dest/dir/dir12");
        result = f11.renameTo(f12);
        System.out.println("---" + result + "---");  //---false---, 目的目录不为空,重命名失败,目录不会覆盖
    }

 

 

 


 

posted @ 2022-10-28 18:05  SaraMorning  阅读(82)  评论(0编辑  收藏  举报