IO输入输出流——File对象
File类是什么:File类可以对文件或目录进行新建、删除、重命名等操作
创建一个File对象
//创建了一个指向D://asd/11.txt的File对象,可以对这个File对象进行各种操作
File file=new File("D://asd/11.txt");
File对象中的常用方法
方法名 | 说明 |
---|---|
Booolean createNewFile() | 但这个File对象所对应的文件不存在是,该方法将创建一个File对象所指定的新文件 |
Booolean delete() | 删除这个对象所对应的文件或路径 |
String getName() | 返回此对象的文件名或路径名 |
String getPath() | 返回此对象的路径名 |
String getAbsolutePath() | 返回此对象的绝对路径名 |
Booolean exists() | 判断此对象所对应的文件或目录是否存在 |
Booolean isFile() | 判断此对象所对应的是否为文件 而不是目录 |
Booolean isDirectory() | 判断此对象所对应的是否为目录 文件 |
long length() | 返回文件内容的长度 |
Booolean mkdir() | 仅可创建一个目录,创建成功返回true,失败返回false |
Booolean mkdirs() | 可创建多级目录,创建成功返回true,失败返回false |
File[] listFiles() | 返回File对象的所有子文件和目录的File数组 |
String[] list() | 返回File对象的所有子文件和目录的String数组 |
例:
File file=new File("D://asd/11.txt");//创建File对象
//判断对象是否存在
if(file.isFile()){
//如果存在,打印以下内容
System.out.println("文件已创建");
System.out.println("文件的名字为"+file.getName());
System.out.println("文件的路径为"+file.getPath());
}else{
//如果不存在,创建这个文件
System.out.println("这个File对象不是文件");
file.createNewFile();
System.out.println("这个File对象已创建");
}
File文件过滤器
1.创建MyFile类,实现FilenameFilter接口
public class MyFile implements FilenameFilter {
//重写FilenameFilter接口中的accepm()方法
public boolean accept(File dir, String name) {
//过滤了非后缀为.txt的文件
return name.endsWith(".txt");
}
}
2.使用MyFile类过滤文件
public static void main(String[] args) throws IOException {
File file=new File("D://asd");//创建File对象
String[] name=file.list(new MyFile());//通过MyFile进行过滤,过滤掉后缀名非.txt的文件
//增强for循环输出文件名
for(String names:name){
System.out.println(names);
}
}