File类
    File类:描述文件系统中的一个文件或目录,我们可以通过File类来查看磁盘上的一个文件或目录,可以获取文件的信息:大小,文件名等,但是不能通过File获取文件内容,还可以通过File类来创建文件或目录,删除文件或目录。

File类各方法举例以及说明如下:
一、创建、重命名文件
代码一:

import java.io.File;
    import java.io.IOException;    
    public class testF {
    	public static void main(String[] args) throws IOException{
    		//创建文件
    		File file = new File("E:\\test.txt");
    		System.out.println("是否成功创建文件?"+file.createNewFile());  
    		//createNewFile()在指定位置创建一个空文件,成功就返回true,如果已存在就不创建,然后返回false。
    		
    		System.out.println("是否成功创建单级文件夹?"+file.mkdir());  
    		//mkdir()在指定位置创建一个单级文件夹。
    		
    		System.out.println("是否成功创建多级文件夹?"+file.mkdirs());
    		//mkdirs()在指定位置创建一个多级文件夹。
		
        File dest = new File("E:\\c.txt");
        System.out.println("是否成功创建文件?"+dest.createNewFile());
        System.out.println("是否成功重命名?"+file.renameTo(dest));
        //renameTo(File dest)如果目标文件与源文件是在同一个路径下,那么renameTo的作用是重命名,
        //如果目标文件与源文件不是在同一个路径下,那么renameTo的作用就是剪切,而且还不能操作文件夹。 
	}
  }

注意:

File file = new File(“E:\test.txt”);

并不会真正去创建物理文件的,只是存在一个路径而已,只有当调用了myFile.createNewFile()之后才会真正去创建文件。

上述代码结果如下:

Java的file类会自动创建吗 java中file类创建文件的方法_System


创建文件成功后,如果不修改文件名,再执行一次代码,则会因为文件已存在而报错。

Java的file类会自动创建吗 java中file类创建文件的方法_Java的file类会自动创建吗_02


重命名失败是因为这个文件已经成功创建了,如果文件名不改动,先把已经成功创建的文件删除,在上述代码一的基础上,改为:

File dest = new File("E:\\c.txt");
  //System.out.println("是否成功创建文件?"+dest.createNewFile());
  System.out.println("是否成功重命名?"+file.renameTo(dest));

运行结果如下:

Java的file类会自动创建吗 java中file类创建文件的方法_Java的file类会自动创建吗_03


二、删除文件

File类的两个方法delete和deleteOnExit的作用都是删除文件,但两者是有差别的。

delete:删除File对象表示的文件或目录,如果表示的是目录,需要保证目录是空的,否则无法删除。若成功删除返回true,否则返回false。

deleteOnExit:当虚拟机终止时,删除File对象表示的文件或目录,如果表示的是目录,需要保证目录是空的,否则无法删除,无返回值。

两个方法的区别是,delete是立即执行删除,而deleteOnExit是程序退出虚拟机时才会删除.

代码二:

//删除方法
		File file = new File("E:\\c.txt");
		System.out.println("是否成功删除文件?"+file.delete());
		//注:file是File类的对象哦
		file.deleteOnExit();

注意:delete()函数删除的文件,不会放进回收站,而是直接删除的。

三、判断文件或文件夹类型等
代码三、

//判断方法
		File file = new File("E:\\test.txt");
		System.out.println("是否成功创建文件?"+file.createNewFile());
		System.out.println("文件/文件夹是否存在?"+file.exists());
		//exists()  文件或文件夹是否存在。
	    System.out.println("是一个文件吗?"+file.isFile());
	    // isFile()  是否是一个文件,如果不存在,则始终为false。
	    System.out.println("是一个文件夹吗?"+file.isDirectory());
	    //isDirectory()  是否是一个目录,如果不存在,则始终为false。
	    System.out.println("是隐藏文件吗?"+file.isHidden());
	    // isHidden()  是否是一个隐藏的文件或是否是隐藏的目录。
	    System.out.println("此路径是绝对路径名?"+file.isAbsolute());
	    //isAbsolute()  测试此抽象路径名是否为绝对路径名。

四、关于文件名称、路径等
代码四:

//获取方法
		File file = new File("E:\\test.txt");
		System.out.println("文件或者文件夹得名称是:"+file.getName());
		//getName()  获取文件或文件夹的名称,不包含上级路径。
        System.out.println("绝对路径是:"+file.getPath());
        System.out.println("绝对路径是:"+file.getAbsolutePath());
        //getAbsolutePath()获取文件的绝对路径,与文件是否存在没关系
        System.out.println("文件大小是(以字节为单位):"+file.length());
        //length()  获取文件的大小(字节数),如果文件不存在则返回0L,如果是文件夹也返回0L。
        System.out.println("父路径是"+file.getParent());
        //getParent()  返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回null。

程序运行结果例子:

Java的file类会自动创建吗 java中file类创建文件的方法_创建文件_04


注意:getPath() 方法跟创建 File 对象时传入的路径参数有关

举例如下:

File file1 = new File(".\\test.txt");
        File file2 = new File("E:\\test.txt");
        System.out.println("-----默认相对路径:取得路径不同------");
        System.out.println(file1.getPath());
        System.out.println(file1.getAbsolutePath());
        System.out.println("-----默认绝对路径:取得路径相同------");
        System.out.println(file2.getPath());
        System.out.println(file2.getAbsolutePath());

Java的file类会自动创建吗 java中file类创建文件的方法_创建文件_05