文件检测相关方法
canWrite():boolean 是否可写 canRead():boolean 是否可读 首先exists()存在性判断,存在时再进行是否文件或者文件夹的判断 isFile():boolean 是否是文件,因为File对象可以封装文件和文件夹 isDirectory():boolean是否为文件夹 isAbsolute():boolean是否为绝对路径 lastModified():long文件的最后修改时间。
常见操作
createNewFile():boolean创建一个新文件 这个方法中有个受检型异常需要进行处理,处理方法:try/catch结构或者在方法上throws抛出异常 如果文件不存在则返回true,表示创建成功;如果文件已经存在则返回false,表示创建失败。
文件过滤器
FilenameFilter 带参数的listFiles方法支持对于子文件进行过滤,只获取需要满足条件的文件对象 FilenameFilter接口中包含一个accept(File dir,String name)方法,该方法用于对指定File的所有子目录 或者文件进行迭代,如果方法返回true则list方法会获取该目录或者文件 匿名内部类的写法: 推荐写法。
语法糖Lambda表达式
1、函数式接口
2、具体的表达式写法
简化写法
Path和Paths以及Files
Path接口代表一个平台无关的平台路径
Files提供工具方法操作文件
Paths提供创建Path的静态工厂方法
Path相关方法
Files工具方法
复制文件Files.copy(Paths.get("T1.java"), new FileOutputStream("a.txt")) 一次性读取文件的所有行 List lines=Files.readAllLines()
字节流
Java把不同类型的输入、输出抽象为流stream,分为输入流和输出流,用统一的接口来表示 Java开发环境中提供了包java.io,其中包括一系列的类来实现输入/输出处理 InputStream是所有字节输入流的祖先,而OutputStream是所有字节输出流的祖先
InputStream
InputStream类是一个抽象类,方法包括:
int read()
int read(byte[])
int read(byte[],int,int)
void close()关闭流
int available()报告流中直接可读的字节数
skip(long)跳过流中指定的字节