Java中File类-8-File类创建/重命名/删除功能

      本篇来学习Java中File类的创建功能,打开API文档,搜索并打开File页,能找到三个创建的方法:createNewFile() mkdir() mkdirs() ,三个方法返回都是布尔类型。然后再看看重命名和删除功能。

 

1.方法createNewFile()

      这个方法是用来创建文件,如果文件存在就不创建返回false,如果不存在就创建,返回true。这里我们在Eclipse的项目的根目录演示创建一个abc.txt的过程。

package file;

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

public class Demo1_File {

	public static void main(String[] args) throws IOException {
		
		File file = new File("abc.txt");
		System.out.println(file.createNewFile());

	}

}

      运行代码会返回true,并在当前java项目根目录创建abc.txt文件(需要手动刷新java项目名称),再次运行就会返回false,因为文件已经存在。

2.方法mkdir() 和mkdirs()

       如果学习过linux就知道mkdir是创建文件路径的shell命令,下面颜色创建一个文件夹和一个文件夹下还有文件夹的例子。

package file;

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

public class Demo1_File {

	public static void main(String[] args) throws IOException {
		
		File dir1 = new File("abc");
		File dir2 = new File("abd\\aab");
		System.out.println(dir1.mkdir());
		System.out.println(dir2.mkdirs());

	}

}

      运行之后,需要刷新当前项目就可以看到创建的文件夹和嵌套文件夹效果。创建多级文件夹使用\\,一个\表示转义,所以需要用两个\\表示一个路径分隔符。

3.重命名功能

      有一个重命名的方法renameTo(File des),就是把文件重命名为指定的路径。文件重命名分为路径相同和路径不同。

      先来看看路径相同的改名,原来我项目根目录下存在一个abc.txt,下面我要把这个文件重命名为cba.txt

package file;

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

public class Demo1_File {

	public static void main(String[] args) throws IOException {
		
		File file1 = new File("abc.txt");
		File file2 = new File("cba.txt");
		System.out.println(file1.renameTo(file2));
		
	}

}

再来看看如果路径不相同的重命名方法修改后效果。效果是,路径不同,改名并剪切文件到新路径。

package file;

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

public class Demo1_File {

	public static void main(String[] args) throws IOException {
		
		File file1 = new File("cba.txt");
		File file2 = new File("C:\\Users\\user1\\Desktop\\abc.txt");
		System.out.println(file1.renameTo(file2));
		
	}

}

运行之后,发现确实把文件给重命名并剪切到桌面。

4.删除功能

 方法delete()是可以删除文件或者文件夹。我们提前在Eclipse项目根目录创建abc.txt文件和aaa文件夹,bbb文件夹,其中bbb文件夹下创建ccc文件夹。执行下面代码,看看发生什么。

package file;

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

public class Demo1_File {

	public static void main(String[] args) throws IOException {
		
		File file1 = new File("abc.txt");
		File dir = new File("aaa");
		File dir2 = new File("bbb");
		System.out.println(file1.delete());
		System.out.println(dir.delete());
		System.out.println(dir2.delete());
		
	}

}
       运行之后,发现bbb文件夹删除不了,原因是delete()方法不能删除文件夹下有文件或者文件夹的情况,只能删除空文件夹,还要注意,这里删除是不走回收站,删除文件之前需要小心。

猜你喜欢

转载自blog.csdn.net/u011541946/article/details/80924554