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());
}
}
}