创建File对象和其常见方法

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_45104211/article/details/99972798

一、什么是File类

    File类创建的对象可以指路径下的文件和路径下的目录:   

    1、指代目录

    2、指代文件

package io;

import java.io.File;

public class Learn {
	public static void main(String[] args) {
		File file =new File ("D:\\");
		File file2 =new File("E:\\01.zip");
		if(file2.isDirectory()) {
			System.out.println("YES");
		}
		if(file.isFile()) {
			System.err.println("YES");
		}
	}
}

        一、此处介绍两解释代码前先说明两个方法: isFile():判断File对象所指的路径是否为文件   返回 true false

        isDirectory():判断File对象所指的路径是否为目录

        二、由于不同系统中由不同的表示路径的分隔符不同:所以引出File中的静态方法:File.separator 这样很好的使程序的容错性加强

    创建对象的方法

    1、直接创建

    2、通过父路径创建

    3、通过父路径的实例化对象实现

扫描二维码关注公众号,回复: 7626637 查看本文章
package io;

import java.io.File;

public class Learn {
	public static void main(String[] args) {
		File file =new File("D:\\360downloads\\wpcache");
		File file2=new File("D:\\360downloads","wpcache");
		File file3=new File(new File("D:\\360downloads"),"wpcache");
		if(file.exists()) {
			System.out.println("确实存在");
		}
		System.out.println(file2.getPath());
		System.out.println(file3.getPath());
	}
}

        介绍两个新的方法: getPath() 返回File的路径;  exist() 判断file 路径是否存在:返回true false

二、File中的方法:

    1、getName():获得最下级的名字 、getParent():获得父级的名字 String、getParentFile()返回 父级的File对象

package io;

import java.io.File;

public class Learn {
	public static void main(String[] args) {
		File file =new File("D:\\360downloads\\wpcache");
		System.out.println(file.getName());
		System.out.println(file.getParent());
		File file2=file.getParentFile();
		System.out.println(file2.getPath());
	}
}

    2、renameTo(File dest) ;更改指定目录的名字

package io;

import java.io.File;

public class Learn {
	public static void main(String[] args) {
		File file =new File("D:\\360downloads\\wpcache");
		if(file.renameTo(new File("D:\\360downloads\\SY"))) {
			System.out.println("修改成功~!!!");
		}
		if(new File("D:\\360downloads\\SY").exists()) {
			System.out.println("证明该文件存在");
		}
	}
}

        结果很明显: 由于修改成功  使用exist() 方法时会输出两个结果

    3、创建目录   mkdir():只可以向下创建一级     mkdirs()  可以一次创建多级

        一、 mkdir()

package io;

import java.io.File;

public class Learn {
	public static void main(String[] args) {
		File file =new File("E:\\");
		if(new File("E:\\Jim\\Boy\\age").mkdir()) {
			System.out.println("创建成功");
		}else {
			System.out.println("创建失败");
		}
	}
}

        由于这次增加的目录在E盘中从Jim就开始不存在:此时由于mkdir()只能创建一级对象: 创建失败  此时应该把Jim之后的路径全部删去 D:\\Jim

        二、mkdirs()

package io;

import java.io.File;

public class Learn {
	public static void main(String[] args) {
		File file =new File("E:\\");
		if(new File("E:\\Jim\\Boy\\age").mkdirs()) {
			System.out.println("创建成功");
		}else {
			System.out.println("创建失败");
		}
		if(new File("E:\\Jim\\Boy\\age").exists()){
			System.out.println("真实存在");
		}
	}
}

        如图此时真正创建了目录,喜欢的小伙伴可以查看自己的电脑中的目录,是真实存在的

    4、创建文件:  createNewFile()   返回布尔型  证明是否创建成功

package io;

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

public class Learn {
	public static void main(String[] args) {
		try {
			if(new File("E:\\SY.txt").createNewFile()) {
				System.out.println("创建成功!!!");
			}else {
				System.out.println("创建失败!!!");
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
		if(new File("E:\\SY.txt").exists()) {
			System.out.println("创建成功!!!");
		}else {
			System.out.println("创建失败!!!");
		}
	}
}

        此时在我的E盘里出现了一个SY.txt文件

    5、delete()   删除文件和目录    只有该目录为空的时后才可以删除

package io;

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

public class Learn {
	public static void main(String[] args) {
			if(new File("E:\\SY.txt").delete()) {
				System.out.println("删除成功!!!");
			}else {
				System.out.println("删除失败!!!");
			}
		if(new File("E:\\SY.txt").exists()) {
			System.out.println("并未删除??");
		}else {
			System.out.println("已经删除!!");
		}
	}
}

    6、list() : 输出String数组 ,其中对应目录下的文件名   listFiles() :返回 File[] 其中对应目录下成文件打包成File对象

package io;

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

public class Learn {
	public static void main(String[] args) {
		File file=new File("E:\\");
		String [] list=file.list();
		for (String string : list) {
			System.out.println(string);
		}
	}
}

    此时则样就把我E盘中的文件名全部打印(截取一部分):

        二、listFiles()

package io;

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

public class Learn {
	public static void main(String[] args) {
		File file=new File("E:\\");
		File [] files =file.listFiles();
		for (File file2 : files) {
			System.out.println(file2.getPath());
		}
	}
}

        可以看出之将文件目录输出后的结果如图

Over

猜你喜欢

转载自blog.csdn.net/weixin_45104211/article/details/99972798