当前位置: 首页 > article >正文

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为使用的字符集

http://www.kler.cn/a/292446.html

相关文章:

  • 「AI Infra 软件开源不是一个选项,而是必然」丨云边端架构和 AI Infra专场回顾@RTE2024
  • [白月黑羽]关于仿写类postman功能软件题目的解答
  • sql分区
  • SkyWalking-安装
  • RabbitMQ轻松构建高效可靠的消息队列系统
  • Java 包装类
  • docker 启动ElasticSearch
  • uniapp组件知识记录
  • 数据赋能(192)——开发:数据服务——影响因素、直接作用、主要特征
  • 详解 MQ 消息队列
  • el-table使用#header自定义表头后脱离响应式问题处理
  • docker国内镜像源报错解决方案
  • docker 介绍以及常用命令
  • Meta关闭Spark AR平台:未来规划与影响分析
  • 2-81 基于matlab的SAR图像的相干斑抑制
  • 【微信小程序】自定义 tabBar
  • 服务器禁用远程(22)
  • flutter Timer报错
  • IMU助力JAXA空间站机器人
  • 【Linux】gcc/g++ 、make/Makefile、git、gdb 的使用
  • 3276. 选择矩阵中单元格的最大得分
  • Qt 创建一个json数组对象写入文档并从文档读出q
  • /单元测试
  • 前端Worker 的应用
  • 3. GIS后端工程师岗位职责、技术要求和常见面试题
  • 羽毛球运动员的运动姿势-标准动作识别判断