13.5 Files类操作梳理(下)

目录

13.5.4  获取目录的对象

13.5.5  小文件的读写


13.5.4  获取目录的对象

        使用Files类的newDirectoryStream()方法:可以获取目录中的文件、子目录象。
        newDirectoryStream()方法的格式如下

        public static DirectoryStream newDirectoryStream(Path path)

        DirectoryStream对象使用之后应该关闭。下面代码片段输出D:\study目录中的所有目录和文件名

    Path path=Paths.get("D:\\study");
    try(DirectoryStream 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  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 readAllLines(Paths path,Charset cs):从指定的文本文件中读取所有的行,cs为使用的字符集

你可能感兴趣的:(Java基础,java,开发语言)