13.5 Files类操作梳理(下)
目录
13.5.4 获取目录的对象
13.5.5 小文件的读写
13.5.4 获取目录的对象
使用Files类的newDirectoryStream()方法:可以获取目录中的文件、子目录象。
newDirectoryStream()方法的格式如下
public static DirectoryStream<Path> newDirectoryStream(Path path)
DirectoryStream对象使用之后应该关闭。下面代码片段输出D:\study目录中的所有目录和文件名
Path path=Paths.get("D:\\study");
try(DirectoryStream<Path> children=Files.newDirectoryStream(path))
{
for(Path child:children){
System.out.println(child.toString());
}catch(IOException e){
e.printStackTrace();
}
13.5.5 小文件的读写
Files类提供了从一个较小的二进制文件和文本文件读取与写入的方法。readAllBytes()方法和readAllLines()方法分别是从二进制文件和文本文件读取。这些方法可以自动打开和关闭流,但不能处理大文件
使用下面方法可以把字节或行写入文件
- public static Path write(Path path,byte[] bytes,OpenOption...options)
- public static Path write(Path path,Iterable<extends CharSequence> lines,Charset cs,OpenOption...options)
第一个方法将字节数组bytes写入文件,第二个方法向文件写入若干行。这两个write()方法都带一个可选的OpenOption参数,第二个方法还带一个Charset。OpenOption接口定义了打开文件进行写入的选项,StandardOpenOption枚举实现了该接口并提供了以下这些值
- APPEND:向文件末尾追加新数据。该选项与WRITE或CREATE同时使用
- CREATE:若文件存在则打开,若文件不存在则创建新文件
- CREATE_NEW:创建一个新文件,如果文件存在则抛出异常
- DELETE_ON_CLOSE:当流关闭时删除DSYNC:使文件内容与基本存储设备同步
- DSYNC:使文件内容与基本存储设备同步
- READ:打开文件进行读取访问
- SYNC:是文件内容和元数据与基本存储设备同步
- TRUNCATE_EXISTING:截断文件使其长度为0字节,该选项关于WRITE同时使用
- WRITE:为写数据而打开文件
使用以下方法可以从文件读取所有字节或行
- public static byte[] readAllBytes(Path path):从指定的二进制文件中读取所有字节
- public static List<String> readAllLines(Paths path,Charset cs):从指定的文本文件中读取所有的行,cs为使用的字符集