欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-05-15 09:56:23
...

      本篇来学习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()方法不能删除文件夹下有文件或者文件夹的情况,只能删除空文件夹,还要注意,这里删除是不走回收站,删除文件之前需要小心。