File像是一个路径
三种构造方法
/**
* File(String pathname):根据一个路径得到File对象
* File(String parent, String child):根据一个目录和一个子文件/目录得到File对象
* File(File parent, String child):根据一个父File对象和一个子文件/目录得到File对象
*/
File file = new File("E:\\demo");
System.out.println(file.exists());
String parent = "E:\\";
String child = "demo";
File file2 = new File(parent, child);
System.out.println(file2.exists());
File parent1 = new File("E:\\");
String child1 = "demo";
File file3 = new File(parent, child);
System.out.println(file2.exists());
File类的功能展示
- 创建功能
File file = new File("yyy.txt");
file.createNewFile(); //创建文件
File file2 = new File("aaa");
file2.mkdir(); //创建文件夹
File file3 = new File("ccc\\bbb");
file3.mkdirs(); //创建多级文件夹
2. 删除和重命名
/**
* * A:重命名和删除功能
* f1.renameTo(File dest):把文件重命名为指定的文件路径
* f1.delete():删除文件或者文件夹
* B:重命名注意事项
* 如果路径名相同,就是改名。
* 如果路径名不同,就是改名并剪切。
* C:删除注意事项:
* Java中的删除不走回收站。
* 要删除一个文件夹,请注意该文件夹内不能包含文件或者文件夹
*/
File file1 = new File("aaa");
File file2 = new File("ddd");
System.out.println(file1.renameTo(file2)); //重命名或不同路径的剪贴
File file3 = new File("yyy.txt");
System.out.println(file3.delete()); //删除文件操作
3. 判断
/**
* * A:判断功能
* f.isDirectory():判断是否是目录(文件夹)
* f.isFile():判断是否是文件
* f.exists():判断是否存在
* f.canRead():判断是否可读
* f.canWrite():判断是否可写
* f.isHidden():判断是否隐藏
*/
File file = new File("ddd");
System.out.println(file.isDirectory()); //是否是文件夹
File file2 = new File("zzz.txt");
System.out.println(file2.isFile()); //是否是文件
System.out.println(file.isFile());
file2.setReadable(false); //设置是否可读功能
file2.setWritable(false); //设置是否可写功能
System.out.println(file2.canRead()); //判断是否可以读
System.out.println(file2.canWrite()); //判断是否可写
4. 获取功能
/**
*
* * A:获取功能
* f.getAbsolutePath():获取绝对路径
* f.getPath():获取路径
* f.getName():获取名称
* f.length():获取长度。字节数
* f.lastModified():获取最后一次的修改时间,毫秒值
* f.list():获取指定目录下的所有文件或者文件夹的名称数组
* f.listFiles():获取指定目录下的所有文件或者文件夹的File数组
*/
File file = new File("zzz.txt");
File file2 = new File("E:/zzz.txt");
System.out.println(file.getAbsolutePath()); //获取绝对路径
System.out.println(file2.getAbsolutePath());
System.out.println(file.getPath()); //获取初始化时的文件路径
System.out.println(file2.getPath());
System.out.println(file.getName()); //获取文件的名字
System.out.println(file2.getName());
System.out.println(file.length()); //获取文件长度
System.out.println(file.lastModified()); //获取最后一次修改时间(毫秒值)
Date d = new Date(file.lastModified()); //创建date对象,封装时间
System.out.println(d);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); //设置日期格式
System.out.println(sdf.format(d)); //初始化获得的时间
File file3 = new File("E:\\video");
String[] arr = file3.list(); //获取路径下的所有文件名
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
File[] file4 = file3.listFiles(); //获取路径下所有文件的file数组,可以对单个文件进行操作哦
for (int i = 0; i < file4.length; i++) {
System.out.println(file4[i]);
}
5. 过滤器
File file = new File("D:\\");
String[] arr1 = file.list(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
File f = new File(dir,name);
return f.isFile() && f.getName().endsWith(".txt");
}
});
for (String string : arr1) {
System.out.println(string);
}