File类,外加F过滤器
来源:互联网 发布:九宫图算法口决 编辑:程序博客网 时间:2024/05/01 16:45
特点:
可以将一个已存在的,或者不存在的文件或者目录封装成file对象。
和输出流不一样,如果文件不存在,则创建,如果文件存在,则不创建
两个重要的字段:
static String
pathSeparator
与系统有关的路径分隔符,为了方便,它被表示为一个字符串。在 UNIX 系统上,此字段为
':'
;在 Microsoft Windows 系统上,它为';'
。static String
separator
与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串。在 UNIX 系统上,此字段的值为
'/'
;在 Microsoft Windows 系统上,它为'\\'
。构造方法:
File(File parent,String child)
根据 parent 抽象路径名和 child 路径名字符串创建一个新
File
实例。File(String pathname)
通过将给定路径名字符串转换为抽象路径名来创建一个新
File
实例。File(String parent,String child)
根据 parent 路径名字符串和 child 路径名字符串创建一个新
File
实例。import java.io.File;public class FileDemo {public static void main(String[] args) { File f1 = new File("c:\\a.txt");File f2 = new File("c:\\","a.txt");File f = new File("c:\\");File f3 = new File(f,"a.txt");File f4 = new File("c:"+File.separator+"abc"+File.separator+"a.txt"); } }
常用方法:
通常该方法用于健壮性判断
boolean
delete()
删除此抽象路径名表示的文件或目录。
boolean
exists()
测试此抽象路径名表示的文件或目录是否存在。 普通的方法:
boolean
createNewFile()
当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。
boolean
delete()
删除此抽象路径名表示的文件或目录。
String
getAbsolutePath()
返回此抽象路径名的绝对路径名字符串。
boolean
isDirectory()
测试此抽象路径名表示的文件是否是一个目录。
boolean
mkdir()
创建此抽象路径名指定的目录。
boolean
mkdirs()
创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。
boolean
renameTo(File dest)
重新命名此抽象路径名表示的文件。
重点方法:一系列的list 参数filter结尾的是过滤器,本文结尾会写到。还有要注意返回值得类型
String[]
list()
返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。
String[]
list(FilenameFilter filter)
返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中满足指定过滤器的文件和目录。
File[]
listFiles()
返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。
File[]
listFiles(FileFilter filter)
返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。
File[]
listFiles(FilenameFilter filter)
返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。
public static void listDemo() {File file = new File("c:\\");/* * 获取当前目录下的文件以及文件夹的名称,包含隐藏文件。 * 调用list方法的File对象中封装的必须是目录。 * 否则会发生NullPointerException * 如果访问的系统级目录也会发生空指针异常。 * * 如果目录存在但是没有内容,会返回一个数组,但是长度为0. * */String[] names = file.list(); File[] files = file.listFiles();for(String name : names){System.out.println(name);}
其他带有过滤器的方法:
so这里会插入过滤器:当当当当
涉及到的两个接口:
FilenameFilter 实现此接口的类实例可用于过滤器文件名。
boolean
accept(File dir,String name)
测试指定文件是否应该包含在某一文件列表中。
FileFilter 用于抽象路径名的过滤器。
boolean
accept(File pathname)
测试指定抽象路径名是否应该包含在某个路径名列表中。
ok,直接上实例;
import java.io.File;import cn.itcast.io.p2.filter.FilterByHidden;import cn.itcast.io.p2.filter.SuffixFilter;public class FileListDemo { public static void main(String[] args) {listDemo_2();listDemo_3();} public static void listDemo_3() {File dir = new File("c:\\");//该目录下不是隐藏的文件File[] files = dir.listFiles(new FilterByHidden());for(File file : files){System.out.println(file);}}public static void listDemo_2() {File dir = new File("c:\\");//该目录下以.txt为扩展名的文件String[] names = dir.list(new SuffixFilter(".txt"));for(String name : names){System.out.println(name);}}}}
接口代码:
import java.io.File;import java.io.FilenameFilter;public class SuffixFilter implements FilenameFilter {private String suffix ;public SuffixFilter(String suffix) {super();this.suffix = suffix;}@Overridepublic boolean accept(File dir, String name) {return name.endsWith(suffix);}}
import java.io.File;import java.io.FileFilter;public class FilterByHidden implements FileFilter {@Overridepublic boolean accept(File pathname) {return !pathname.isHidden();}}
0 0
- File类,外加F过滤器
- File类以及文件过滤器
- 异常,file类(过滤器),递归
- java File类,文件过滤器
- File类的用法总结,及文件过滤器的介绍。
- 黑马程序员_JAVA笔记之(File类,过滤器,递归练习)
- File类的用法总结,及文件过滤器的介绍。
- Java之IO操作,File类、文件过滤器
- git mv -f File file (git改名)
- python read file(f,csv)
- C++string类(外加next_permutation函数)
- File构造方法,文件过滤器
- 【shell】常用语法 -b file -c file -f file-d file -x file
- 【shell】常用语法 -b file -c file -f file-d file -x file
- 仿支付宝头像外加一个边框的工具类
- java基础知识回顾之javaIO类--File类应用:过滤器接口FilenameFilter和FileFilter
- 黑马程序员——07File类,文件过滤器FilenameFilter以及递归
- 黑马程序员——Java中File类笔记,涉及递归思想、过滤器
- MemoryPool 内存池 仿std::allocator 实现
- 抓包工具Fidder详解(主要来抓取Android中app的请求)
- Java相关知识补充
- C++编程之函数模板
- 问题:javascript中的event对象???
- File类,外加F过滤器
- 88. Merge Sorted Array(python)
- Redis从客户端登录服务器
- 汇编语言里 eax, ebx, ecx, edx, esi, edi, ebp, esp 寄存器 含义
- TCP BBR算法的带宽敏感性以及高丢包率下的优化
- 归并排序
- SQL中全局变量和局部变量的区别及用法
- 离线安装Maven插件
- 深度学习(DL)与卷积神经网络(CNN)学习随笔-05-基于Python的LeNet之CNN