第十三章、文件操作File类

文件操作File类

1. 创建文件对象

1.File(File parent, String child)
	根据parent抽象路径名和child路径名字字符串创建一个新的File实例
2.File(String pathname)
	通过将给定的路径名字字符串转换成抽象路径名来创建一个新的File
3.File(String parent, String child)
	根据parent路径名字符串和child路径名字符串创建一个新的File实例
package demo1;

import java.io.File;

public class FileDemo1 {

	public static void main(String[] args) {
		
		// File(String pathname)   推荐使用
		File file1 = new File("D:\JAVA笔记\笔记.txt");
	
		// File(File parent, String child)
		File parent = new File("D:\");
		File file2 = new File(parent,"JAVA笔记\笔记.txt");
	
		// File(String parent, String child)
		File file3 = new File("D:\","JAVA笔记\笔记.txt");
	}
}

2. 文件操作相关的方法

public boolean createNewFile()   
	创建文件,如果存在这样的文件就不创建
public boolean delete()   
	Java中的删除不走回收站,要删除一个文件夹,注意文件夹内不能包含文件会或文件夹
package demo1;

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

public class FileDemo2 {

	public static void main(String[] args) throws IOException {
		// 1.创建文件   默认不指定路径,默认在项目下创建
		File file = new File("言情.txt");
		
		// 2.创建文件
		boolean b = file.createNewFile();
		if(b){
			System.out.println("创建成功!");
		}
		
		// 3.删除文件
		b = file.delete();
		if(b){
			System.out.println("删除成功!");
		}
	}
}

3. 目录操作相关操作的方法

public boolean mkdir()   
	创建文件夹,如果存在这样的文件夹,就不创建了
public boolean mkdirs()  
	创建文件夹,如果弗雷文件不存在,就会帮你创建出来
	如果创建文件夹或者文件夹忘了写绝对路径,默认在项目路径下创建
public String[] list()   
	列出File对象的所有子文件名和路径名,返回String数组
public File[] listFiles()  
	列出File对象的所有子文件和路径,返回File数组
package demo1;

import java.io.File;

public class FileDemo3 {

	public static void main(String[] args) {

		// 1.创建文件夹
		File file1 = new File("小说\言情小说\张三都市生活");
		// file1.mkdir() 创建单级目录(一层文件夹)
		file1.mkdirs(); // 创建多级目录(多层文件夹)
		
		System.out.println("--------------");
		
		
		File file2 = new File("C:\");
		// 列出File对象的所有子文件名和路径名,返回String数组
		String[] list = file2.list();
		for (String string : list) {
			System.out.println(string);
		}
		
		System.out.println("--------------");
		// 列出File对象的所有子文件和路径,返回File数组
		File[] listFiles = file2.listFiles();
		for (File file : listFiles) {
			String name = file.getName();
			System.out.println(name);
		}
	}

}

4. 文件检测相关方法

public boolean isDirectory()   	返回是否是目录
public boolean isFile()       	返回是否是文件
public boolean exists()    	   	判断是否存在
public boolean canRead()       	判断是否可读
public boolean canWrite() 	   	判断是否可写
public boolean isHidden()      	判断是否隐藏
package demo1;

import java.io.File;

public class FileDemo4 {

	public static void main(String[] args) {
		
		File file = new File("小说");
		
		// public boolean isDirectory()   返回是否是目录
		boolean b = file.isDirectory();
		System.out.println(b);
		
		System.out.println("--------------");
		
		// public boolean isFile()        返回是否是文件
		b = file.isFile();
		System.out.println(b);
		
		System.out.println("--------------");

		// public boolean exists()    	        判断是否存在
		b = file.exists();
		System.out.println(b);
		
		System.out.println("--------------");
		
		// public boolean canRead()       判断是否可读
		b = file.canRead();
		System.out.println("可读:"+b);
		
		System.out.println("--------------");
		
		// public boolean canWrite() 	        判断是否可写
		b = file.canWrite();
		System.out.println("可写:"+b);
		
		System.out.println("--------------");
		
		// public boolean isHidden()      判断是否隐藏
		b = file.isHidden();
		System.out.println("隐藏:"+b);
		
		System.out.println("--------------");
	}
}

5. 基本获取功能

public String getAbsolutePath()       获取绝对路径
public String getPath()			      获取相对路径
public String getName()               获取名称
public long length()				  获取长度,字节数
public long lastModified() 		      获取最后一次修改时间,毫秒数
package demo1;

import java.io.File;
import java.text.SimpleDateFormat;

public class FileDemo5 {

	public static void main(String[] args) {
		
		// 创建文件对象
		File file = new File("C:\Users\Administrator\Desktop\头像.jpg");
		
		// 获取绝对路径
		String absolutePath = file.getAbsolutePath();
		
		// 获取相对路径
		String path = file.getPath();
		
		// 获取文件名称
		String name = file.getName();
		
		// 获取长度。字节数
		long length = file.length();
		
		// 获取最后一次修改时间,单位:毫秒数
		long lastModified = file.lastModified();
		
		System.out.println("绝对路径:"+absolutePath);
		System.out.println("相对路径:"+path);
		System.out.println("文件名称:"+name);
		System.out.println("长度:"+length);
		
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		String format = sdf.format(lastModified);
		System.out.println("修改时间:"+format);
	}
}

6. 文件重命名

public boolean renameTo(File dest)    如果路径相同就时改名,路径不同就是剪切+改名
package demo1;

import java.io.File;
import java.text.SimpleDateFormat;

public class FileDemo5 {

	public static void main(String[] args) {
		
		// 创建文件对象
		File file = new File("C:\Users\Administrator\Desktop\头像.jpg");
		
        // 如果路径相同就时改名,路径不同就是剪切+改名
		// public boolean renameTo(File dest)
		File newFile = new File("头像.png");
		file.renameTo(newFile);
	}
}
原文地址:https://www.cnblogs.com/borntodie/p/14123206.html