java中的File文件管理

File文件管理
file为文件地址,如"D:\javaworkspace"
1、文件定位方法
1)绝对路径:从盘符开始到文件名
2)相对路径:从当前目录(工作空间所在位置开始)到文件名

2、新建文件
1)file.mkdir():新建单个文件夹
2)file.mkdirs():新建多级文件夹,注意,如果此操作失
败,可能已成功创建了一些必需的父目录
3)createNewFile():新建文件

3、删除文件夹
1)file.delete:直接删除文件,不管文件是否存在,一经调用立即执行
2)file.deleteOnExit:当调用deleteOnExit()方法时,只是相当于对deleteOnExit()作一个声明,当程序运行结束,JVM终止时才真正调用deleteOnExit()方法实现删除操作。即该方法是将删除的命令缓存了一下,到服务停止的时候再进行操作(一旦请求了删除操作,就无法取消该请求–慎用)

4、查找文件
1)file.getAbsolutePath():返回文件的绝对路径(从盘符开始)
2)file.getName():路径名表示的文件或目录的名称,不包括路径名称
3)file.getPath():获取文件名
4)file.getParent:获取文件父目录
5、文件操作
1)file.exists():判断文件是否存在,返回boolean
2)file.canReader:判断文件是否可读,返回boolean
3)file.canWriter:判断文件是否可写,返回boolean
4)file.canExecute:判断文件是否可执行,返回boolean
5)file.renameTo:重命名
6)file.isFile:是否是文件,返回boolean
7)file.listFile:列出文件夹下的所有文件
8)file.listRoots:返回文件的根目录(一般以盘符为根目录)

JDK7以后的新特性:
//static Path get(String first,String,…more);
Path path = Paths.get(“C:/windows”,“system32”,“driver”);
System.out.println(“文件节点数:” + path.getNameCount());
System.out.println(“文件名称:” + path.getFileName());
System.out.println(“文件根目录:” + path.getRoot());
System.out.println(“文件上级关联目录:” + path.getParent());

//URI–是统一资源标识符:Universal Resource Identifier 用于识别一个文件
//URL–是泳衣资源定位符:Universal Resource Identifier 用于定位一个文件
URI uri=path.toUri();
System.out.println(uri);

package ch12;

import java.io.File;

public class FileDemo {

	public static void main(String[] args) {
		// 使用File类定位一个系统文件
		// 1、方法1-使用绝对路径
		// 全目录(文件目录)
		String fileName = "D:\\javaworkspace\\java\\src\\ch\\homework\\BankDespositor.java";
		// 文件(文件的全地址)
		fileName = "D:\\javaworkspace\\java\\src\\ch\\test\\";

		// 相对路径:相似于主类的执行地址,参考地址是main方法所在的类的地址
		// 相对路径地址要以程序所在的地址作为参考,这个地址需要排除package的名称
		fileName = "doc\\循环及嵌套";
		// 在eclipse中以项目工程所在的地址作为参考

		// 2、方法2-使用相对路径
		File file = new File(fileName);
		// 通过java.io.File判断文件或目录是否存在
		if (file.exists()) {
			System.out.println("文件存在!");
			// 文件的绝对路径:返回磁盘根目录下的完整地址
			System.out.println("绝对路径:" + file.getAbsolutePath());
			System.out.println("能否执行:" + file.canExecute() + "\t能否读取" + file.canRead() + "\t能否写入" + file.canWrite());
			System.out.println("getName:" + file.getName());// 获取的是文件目录名或文件名
			System.out.println("getParent:" + file.getParent());// 获取文件的相对路径的父地址
			System.out.println("getPath:" + file.getPath());// 文件相对路径的地址

		}
		//3、方法3-把文件与目录名分开,在一个目录下有多个文件需要进行操作时
		String path="D:\\javaworkspace\\corejava\\src\\ch10\\homework";
		String fName="BankDespositor.java";
		File file2=new File(path, fName);
		if (file2.exists()) {
			System.out.println("文件存在");
			System.out.println("绝对路径:" + file2.getAbsolutePath());
			System.out.println("能否执行:" + file2.canExecute() + "\t能否读取" + file2.canRead() + "\t能否写入" + file2.canWrite());
			System.out.println("getName:" + file2.getName());// 获取的是文件目录名或文件名
			System.out.println("getParent:" + file2.getParent());// 获取文件的相对路径的父地址
			System.out.println("getPath:" + file2.getPath());// 文件相对路径的地址

		}else {
			System.out.println("文件不存在");
		}

		//4、方法4-把文件名与目录名分开(并用File对象进行保存),在一个目录下有多个文件需要进行操作

		File filePath=new File("D:\\javaworkspace\\corejava\\src\\ch10\\homework");
		fName="BankDespositor.java";
		File file3=new File(filePath,fName);
		if (file3.exists()) {
			System.out.println("文件存在");
			System.out.println("绝对路径:" + file3.getAbsolutePath());
			System.out.println("能否执行:" + file3.canExecute() + "\t能否读取" + file3.canRead() + "\t能否写入" + file3.canWrite());
			System.out.println("getName:" + file3.getName());// 获取的是文件目录名或文件名
			System.out.println("getParent:" + file3.getParent());// 获取文件的相对路径的父地址
			System.out.println("getPath:" + file3.getPath());// 文件相对路径的地址
		}else {
			System.out.println("文件不存在");
		}
	}
}


(小白学习,如有缺漏或不足欢迎指正)


你可能感兴趣的:(java,File)