IO流属性及目录输出
package com.gx.xmj;
import java.io.File;
import java.io.FilenameFilter;
import java.io.IOException;
public class IOOne {//IO流测试一
public static void main(String[] args) throws IOException {
File file = new File("D:\\IO流测试");
System.out.println(file.exists());
file.createNewFile();// 创建文件,不是文件夹
System.out.println(file.exists());// 判断文件是否存在
System.out.println(file.getName());// 获取文件的名字
System.out.println(file.getAbsolutePath());// 获取文件的绝对路径
System.out.println(file.getPath());// 获取文件的相对路径
System.out.println(file.getParent());// 获取文件的父路径
System.out.println(file.canRead());// 文件是否可读
System.out.println(file.canWrite());// 文件是否可写
System.out.println(file.length());// 文件的长度
System.out.println(file.lastModified());// 文件最后一次修改的时间
System.out.println(file.isDirectory());// 判断文件是否是一个目录
System.out.println(file.isHidden());// 判断文件是否隐藏
System.out.println(file.isFile());// 判断文件是否存在
System.out.println("list()获取某个目录下所有的文件或者文件夹");
File file1 = new File("D:\\IO流测试");// 指定文件目录
String[] str = file1.list();// 获取指定目录下的所有文件或者文件夹的名称数组
for (String string : str) {// foreach循环遍历输出
System.out.println(string);
}
System.out.println("---------------");
System.out.println("File[]获取指定目录下的所有文件或者文件夹的File数组");
File file2 = new File("D:\\IO流测试");// 指定文件1路径
File[] f = file2.listFiles();// File[]获取指定目录下的所有文件或者文件夹的File数组
for (File files : f) {
System.out.println(files);
}
System.out.println("获取某种格式的文件,比如某种后缀的图片,并输出文件名:");
File file3 = new File("D:\\IO流测试");
String[] strs = file3.list();
for (String s : strs) {
if (s.endsWith(".jpg") || s.endsWith(".png")) {
// 如果有后缀就输出这些后缀格式的
System.out.println(s);
}
}
System.out.println("获取文件夹下面子目录里面的文件获取(并没有完全获取子目录的子目录等,仅仅获取了子一级目录)");
File file4 = new File("D:\\IO流测试");
File[] fs = file4.listFiles();// 获取目录数组
for (File str1 : fs) {
if (str1.isDirectory()) {// 判断是否是一个目录
String[] s = str1.list();// 将目录转换成名称数组
for (String string : s) {
if (string.endsWith(".jpg") || string.endsWith(".png")) {
System.out.println(string);
}
}
}
System.out.println(str1);
}
System.out.println("-----------文件名称过滤器");
File file5 = new File("D:\\IO流测试");
String[] str2 = file5.list(new FilenameFilter() {// 过滤器,匿名内部类
@Override
public boolean accept(File dir, String name) {
// TODO Auto-generated method stub
File ff = new File(dir, name);
return ff.isFile() && ff.getName().endsWith(".png");
}
});
for (String string : str2) {
System.out.println(string);
}
}
}
电脑IO流测试文件夹
效果图展示: