Java Files的常用方法都有哪些?

Java Files的常用方法都有哪些?

在Java中,java.nio.file.Files 类提供了许多用于操作文件和目录的静态方法。以下是一些常用的方法,以及相应的代码示例:

1. 读取文件内容:

  • readAllLines(Path path, Charset cs) 读取文件的所有行。

    Path filePath = Paths.get("example.txt");
    List<String> lines = Files.readAllLines(filePath, StandardCharsets.UTF_8);
    
  • readAllBytes(Path path) 读取文件的所有字节。

    Path filePath = Paths.get("example.txt");
    byte[] fileBytes = Files.readAllBytes(filePath);
    

2. 写入文件内容:

  • write(Path path, Iterable<? extends CharSequence> lines, Charset cs, OpenOption... options) 将字符串写入文件。

    Path filePath = Paths.get("output.txt");
    List<String> content = Arrays.asList("Line 1", "Line 2", "Line 3");
    Files.write(filePath, content, StandardCharsets.UTF_8);
    
  • write(Path path, byte[] bytes, OpenOption... options) 将字节数组写入文件。

    Path filePath = Paths.get("output.txt");
    byte[] contentBytes = "Hello, World!".getBytes(StandardCharsets.UTF_8);
    Files.write(filePath, contentBytes);
    

3. 复制和移动文件:

  • copy(Path source, Path target, CopyOption... options) 复制文件。

    Path sourcePath = Paths.get("source.txt");
    Path targetPath = Paths.get("target.txt");
    Files.copy(sourcePath, targetPath, StandardCopyOption.REPLACE_EXISTING);
    
  • move(Path source, Path target, CopyOption... options) 移动文件。

    Path sourcePath = Paths.get("source.txt");
    Path targetPath = Paths.get("target.txt");
    Files.move(sourcePath, targetPath, StandardCopyOption.REPLACE_EXISTING);
    

4. 删除文件和目录:

  • delete(Path path) 删除文件或目录。

    Path filePath = Paths.get("example.txt");
    Files.delete(filePath);
    
  • deleteIfExists(Path path) 如果存在,则删除文件或目录。

    Path filePath = Paths.get("example.txt");
    Files.deleteIfExists(filePath);
    

5. 检查文件和目录属性:

  • isDirectory(Path path, LinkOption... options) 判断给定路径是否为目录。

    Path dirPath = Paths.get("example_directory");
    boolean isDirectory = Files.isDirectory(dirPath);
    
  • isRegularFile(Path path, LinkOption... options) 判断给定路径是否为普通文件。

    Path filePath = Paths.get("example.txt");
    boolean isRegularFile = Files.isRegularFile(filePath);
    

6. 获取文件和目录信息:

  • exists(Path path, LinkOption... options) 判断给定路径是否存在。

    Path filePath = Paths.get("example.txt");
    boolean exists = Files.exists(filePath);
    
  • size(Path path) 获取文件的大小。

    Path filePath = Paths.get("example.txt");
    long fileSize = Files.size(filePath);
    

这些只是 java.nio.file.Files 类的一部分常用方法。根据具体需求,可以选择合适的方法进行文件和目录操作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/195710.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qt应用开发(Quick篇)——矩形模块 Rectangle

一、前言 矩形模块用于用纯色或渐变填充区域&#xff0c;或者提供一个矩形边框。 二、外观 每个矩形项都可以使用使用color属性指定的纯填充色、使用gradient类型定义并使用gradient属性设置的渐变来绘制。如果同时指定了颜色和渐变效果&#xff0c;则只会生效渐变效果。 通过…

服务端突然断电

192.168.137.10 访问192.168.137.200 ,突然192.168.137.200断电,192.168.137.10还是能看到estab连接 scanscan-virtual-machine:~$ sudo netstat -nap | grep 8081 tcp 0 0 192.168.137.10:48666 192.168.137.200:8081 ESTABLISHED 30035/telnet tcp …

Python:核心知识点整理大全2-笔记

在本章中&#xff0c;你将学习可在Python程序中使用的各种数据&#xff0c;还将学 习如何将数据存储到变量中&#xff0c;以及如何在程序中使用这些变量。 2.1 运行 hello_world.py 时发生的情况 运行hello_world.py时&#xff0c;Python都做了些什么呢&#xff1f;下面来深入…

NFTScan | 11.27~12.03 NFT 市场热点汇总

欢迎来到由 NFT 基础设施 NFTScan 出品的 NFT 生态热点事件每周汇总。 周期&#xff1a;2023.11.20~ 2023.11.26 NFT Hot News 01/ Web3 教育平台 Open Campus 获 Binance Labs 315 万美元投资 11 月 27 日&#xff0c;Binance Labs 已向社区主导的 Web3 教育平台 Open Campu…

Selenium自动化测试工具使用方法汇总

1、设置无头浏览器模式 from selenium import webdriver from selenium.webdriver.chrome.options import Options chrome_options Options() chrome_options.add_argument(- -headless) chrome_options.add_argument(- -disable-gpu) class XX(object): self.driver webdriv…

Python selenium自动化测试模型图解

1、线性测试 优势&#xff1a;每一个脚本都是完整独立的&#xff0c;每一个脚本对应一个测试用例 缺点&#xff1a;开发成本高&#xff0c;会有重复操作重复脚本&#xff1b;维护成本也高&#xff0c;修改重复操作的脚本时&#xff0c;要逐一进行修改。 2、模块化驱动测试 …

深入理解 Vue 中的指针操作(一)

文章目录 ☘️引言☘️什么是指针☘️基本用法&#x1f343; v-if和v-show指令&#x1f33f;v-if&#x1f33f;v-show&#x1f33f;v-if *VS* v-show &#x1f343;v-bind绑定指令&#x1f343;v-on指令&#x1f33f;事件修饰符&#x1f331;.stop&#x1f331;.prevent&#x…

三、Zookeeper数据模型

目录 1、Znode兼具文件和目录两种特点 2、Znode具有原子性操作

kicad源代码研究:参照Candence实现工程管理

创建工程&#xff1a; 创建工程和打开工程触发事件&#xff1a; KICAD_MANAGER_ACTIONS::newProjectKICAD_MANAGER_ACTIONS::openProjectnewProject和OpenProject事件响应具体实现&#xff0c;在KICAD_MANAGER_CONTROL类中实现&#xff1a; Go( &KICAD_MANAGER_CONTROL::…

前端小记--3.接上篇,级联组件el-cascader回显问题

在使用el-cascader这个级联组件时&#xff0c;组件的值是数组形式&#xff0c;且选中节点时&#xff0c;所返回的值中是包含选中节点的所有父节点的。 比如&#xff0c;我们选中的是“值班点1号-东门”&#xff0c;但组件实际的值是[‘值班点1号’,‘值班点1号-东门’]&#x…

[PyTorch][chapter 4][李宏毅深度学习][Gradient Descent]

前言&#xff1a; 目录: 1: 梯度下降原理 2: 常见问题 3&#xff1a; 梯度更新方案 4&#xff1a; 梯度下降限制 一 梯度下降原理 机器学习的目标找到最优的参数,使得Loss 最小 为什么顺着梯度方向loss 就能下降了。主要原理是泰勒公式。 假设损失函数为 忽略二阶导数, 当 …

分享几个电视颜色测试图形卡

介绍 本文分享几个常见的电视颜色测试图形卡和一段matlab程序&#xff0c;完成JPG转FPGA烧写文件&#xff0c;便于把彩色图片预装载到FPGA内。 电视颜色测试图形卡 一种专业检测电视显示效果的工具。它通常由一张卡片和一些色块组成&#xff0c;可以根据标准色彩空间和颜色渐…

语义分割网络FCN

语义分割是一种像素级的分类&#xff0c;输出是与输入图像大小相同的分割图&#xff0c;输出图像的每个像素对应输入图像每个像素的类别&#xff0c;每一个像素点的灰度值都是代表当前像素点属于该类的概率。 语义分割任务需要解决的是如何把定位和分类这两个问题一起解决&…

ubuntu使用ffmpeg录屏(播放黑屏问题解决)

linux发行版下要使用ffmpeg录屏, 只需要apt安装一下ffmpeg sudo apt install ffmpeg 然后使用常见录屏参数进行录屏即可 ffmpeg -video_size 1920x1080 -f x11grab -draw_mouse 1 -i :0.00,0 -r 30.0 -profile:v high444 -level 5.1 -pix_fmt yuv420p -preset:v ultr…

代码随想录算法训练营第四十三天 _ 动态规划_416.分割等和子集、1049.最后一块石头的重量II。

学习目标&#xff1a; 动态规划五部曲&#xff1a; ① 确定dp[i]的含义 ② 求递推公式 ③ dp数组如何初始化 ④ 确定遍历顺序 ⑤ 打印递归数组 ---- 调试 引用自代码随想录&#xff01; 60天训练营打卡计划&#xff01; 学习内容&#xff1a; 416.分割等和子集 该题目可以等…

聊聊tomcat的keepAlive参数

序 本文主要研究一下tomcat的keepAlive参数 maxKeepAliveRequests org/apache/tomcat/util/net/AbstractEndpoint.java /*** Max keep alive requests*/private int maxKeepAliveRequests100; // as in Apache HTTPD serverpublic int getMaxKeepAliveRequests() {// Disabl…

嘉里大荣物流与极智嘉再度携手,合作助力物流服务高效升级

近日&#xff0c;全球仓储机器人引领者极智嘉(Geek)与3PL知名企业嘉里大荣物流联合宣布&#xff0c;双方再度携手&#xff0c;6周内共建全新自动化订单履行中心&#xff0c;赋能国际时尚运动品牌New Balance加速B2B和B2C订单交付&#xff0c;为其客户提供更高效便捷的物流服务。…

江科大STM32学习笔记(上)

STM32F103xx 前言外设篇GPIO输出GPIO位结构GPIO模式外设的GPIO配置查看实战1&#xff1a; 如何进行基本的GPIO输入输出 OLED显示屏及调试Keil的调试模式演示 EXTI外部中断NVIC基本结构EXTI结构代码实战2&#xff1a;如何使用中断和对射式红外传感器&#xff06;旋转编码器 TIM&…

【flink番外篇】1、flink的23种常用算子介绍及详细示例(1)- map、flatmap和filter

Flink 系列文章 1、Flink 专栏等系列综合文章链接 文章目录 Flink 系列文章一、Flink的23种算子说明及示例1、maven依赖2、java bean3、map4、flatmap5、Filter 本文主要介绍Flink 的3种常用的operator&#xff08;map、flatmap和filter&#xff09;及以具体可运行示例进行说明…

Mysql的索引详解

1.索引的分类 1.按照功能来分&#xff0c;可以分为主键索引、唯一索引、普通索引、全文索引 2.按照索引字段个数来分&#xff0c;可以分为单列索引、联合索引 3.按照物理实现方式来分&#xff0c;可以聚簇索引、非聚簇索引 2.适合添加索引的场景 1.具有唯一性约束的字段。 2…