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---, 目的目录不为空,重命名失败,目录不会覆盖 }