1.概述

java.io包中提供了一些接口和类,对计算机中的文件进行操作。

在程序中,一个File对象既可以代表一个文件或者一个目录。

利用File类可以对文件或者目录进行基本操作,如:查出文件名称、大小,文件最后修改日期等。

2.File类的常用构造方法

File(String pathname):用指定的文件路径构造文件

File(String dir,String subpath):在指定的目录dir下创建指定文件名subpath的文件

File(File parent,String subpath):根据一个文件对象和字符串子文件创建文件

创建一个File对象:

File file=new File(String pathname);

如:File file=new File("E:\\a.txt");

3.File类常用方法

File java 空文件 java file 写文件_java

 代码举例说明:

public static void main(String[] args) {
		// 创建File类对象,该对象指向E盘中a.text文件和demo目录
		File file1=new File("E:\\a.txt");
		File file2=new File("E:/demo");
		
		//boolean exists()测试此抽象路径名表示的文件或者目录是否存在
		boolean result1=file1.exists();
		System.out.println("file1指向的文件存在:"+result1);
		System.out.println("file2指向的目录存在:"+file2.exists());
		
		//boolean isDirectory()测试此抽象路径名表示的文件是否是一个目录
		//boolean isFile()测试此抽象路径名表示的文件是否是一个标准文件
		System.out.println("file1对象指向的是一个文件:"+file1.isFile());//true
		System.out.println("file1对象指向的是一个目录:"+file1.isDirectory());//false
		System.out.println("file2对象指向的是一个文件:"+file2.isFile());//false
		System.out.println("file2对象指向的是一个目录:"+file2.isDirectory());//true
		
		//String getName()返回由此抽象路径名表示的文件或目录的名称。
		System.out.println("file1对象指向的文件名:"+file1.getName());
		System.out.println("file2对象指向的文件名:"+file2.getName());
		
		// long length()返回由此抽象路径名表示的文件的长度 ,返回的结果值是一个大概值,是不确定的
		System.out.println("file1对象指向的文件的长度:"+file1.length());

	}

 创建文件和删除:

public static void main(String[] args) throws IOException {
		File file=new File("E:b.txt");
		
		//boolean exists():判断file对象指向的文件是否存在
		//如果file对象指向的文件不存在,就创建file对象指向的文件
		if (!file.exists()) {
			//boolean creatNewFile():当且仅当不存在具有此抽象路径名指定名称的文件时,创建一个新的空文件。
			file.createNewFile();
			System.out.println("文件创建成功");
		}else{
			//boolean delete()删除此抽象路径名表示的文件或目录
			file.delete();
			System.out.println("文件删除成功");
		}
	}

mkdir()方法和mkdirs()方法的区别:前者创建单级目录,后者创建多级目录。

public static void main(String[] args) {
		File file1=new File("E:/test");
		//如果file1指向的目录不存在,就创建目录,如果目录存在,就删除这个目录
		if (file1.exists()) {
			file1.delete();
			System.out.println("目录删除成功");
		}else{
			// boolean mkdir() 创建此抽象路径名指定的目录。
			file1.mkdir();
			System.out.println("目录创建成功");
		}

		File file2=new File("E:/a/b/c/d");
		//boolean mkdirs() 创建此抽象路径名指定的目录,包括所有必需但不存在的父目录
		file2.mkdirs();
		System.out.println("目录创建成功");
		file2.delete();
	}

 getPath()方法和getAbsolutePath()方法区别:

public static void main(String[] args) throws IOException {
		File file1=new File("text.txt");
		file1.createNewFile();
		//String getPath() 将此抽象路径名转换为一个路径名字符串
		String path=file1.getPath();
		System.out.println(path);//text.txt
		
		//String getAbsolutePath() 返回此抽象路径名的绝对路径名字符串。
		System.out.println(file1.getAbsolutePath());//D:\MyEclipse\MyEclipse2014\Workspaces\Day23输入和输出-IO流\text.txt

	}