Java文件与IO
File类
代表计算机各个文件,目录的抽象表现形式,可以实现文件的创建,删除等
import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
public class FileDemo {
	public static void main(String[] args) {
		//File类表示一个文件或目录
		//指定在哪里创建
		//第一种使用方法
		File f1 = new File("/home/xiaoming/音乐/java/vince.text");
		//第二种使用方法,使用类中的常量separator表示斜杠
		File f2 = new File(File.separator+"home"
				+File.separator+"xiaoming"
				+File.separator+"音乐"+File.separator
				+"java"+File.separator+"tey.text");
		//判断文件是否已经存在
		if(!f1.exists()) {
			try {
				f1.createNewFile();//创建文件
				System.out.println("文件创建成功");
			} catch (IOException e) {
				// 基本上IO操作都报这个错误
				e.printStackTrace();
			}
		}
		//判断对象是否是文件
		System.out.println(f1.isFile());
		//判断该对象是否为文件夹
		System.out.println(f1.isDirectory());
		
		//删除文件夹(前提文件夹里无文件)
		File f3 = new File("/home/xiaoming/音乐/java");
		boolean b = f3.delete();
		System.out.println(b);
		
		//列出所有文件名,若是文件夹,则列出文件夹名
		String[] name = f3.list();
		System.out.println(Arrays.toString(name));
		
		//列出当前目录下的所有文件,以file对象返回
		File[] f4 = f3.listFiles();
		for(File f:f4) {
			System.out.println(f.length());
			System.out.println(f.getName());
			System.out.println(f.getPath());//相对路径
			System.out.println(f.getAbsolutePath());//绝对路径
			System.out.println(f.isHidden());//是否隐藏文件
			System.out.println(f.canRead());
			Date date = new Date(f.lastModified());//最后修改时间
			DateFormat df = new SimpleDateFormat("HH:mm:ss");
			System.out.println(df.format(date));
		}
		
		//创建文件夹
		File f5 = new File("/home/xiaoming/音乐/java1");
		f5.mkdir();
		f5.mkdirs();//一次性创建所有指定文件夹
		
		//重命名与移动文件
		f5.renameTo(new File("/home/xiaoming/音乐/Text1"));
		
		//过滤器
		File[] files = f5.listFiles(new FileFilter() {
			
			//从写此方法,用于查找出指定文件
			public boolean accept(File pathname) {
				return pathname.getName().endsWith(".text");
			}
		});
		//第二种写法
		File[] files_s  = f5.listFiles((pathname)->pathname.getName().endsWith(".text"));
		for(File f:files) {
			System.out.println(f.getName());
		}
	}
}