Java语言程序设计——篇十三(4)

news2024/12/26 0:58:40

在这里插入图片描述
在这里插入图片描述

       🌿🌿🌿跟随博主脚步,从这里开始→博主主页🌿🌿🌿

  • 欢迎大家:这里是我的学习笔记、总结知识的地方,喜欢的话请三连,有问题可以私信🌳🌳🌳
    您的点赞👍、关注➕、收藏⭐️、评论📝、私信📧是我最大的支持与鼓舞!!!🌻🌻🌻

在这里插入图片描述

java.nio.file.Files类操作

  • 创建、删除目录与文件
  • 文件属性操作
  • 复制、移动目录与文件
  • 小文件的读写
  • 使用Files类创建流对象

创建、删除目录与文件

  • Files类提供了下面的方法创建、删除目录和文件
    static Path createDirectory(Path dir) 
    static Path createFile(Path file)
    static void delete(Path path)
    static void deleteIfExists(Path path)
  • 可抛出FileAlreadyExistsException, NoSuchFileException,
    DirectoryNotEmptyException异常。

文件属性操作

  static boolean exists(Path path)  
  static boolean notExists(Path path) 
  static boolean isReadable(Path path) 
  static boolean isWritable(Path path) 
  static boolean isExecutable(Path path) 
  static boolean isRegularFile(Path path)
    static long size(Path path) 
  static boolean isDirectory(Path path) 
  static boolean isHidden(Path path) 
  static FileTime getLastModifiedTime(Path path)

复制、移动目录与文件

  • 使用Files类的copy()方法可以复制文件和目录。
   static Path copy(Path source, Path target, 
                                       CopyOption…options)
                                    // StandardCopyOption枚举是CopyOption接口的一个实现:
ATOMIC_MOVE
COPY_ATTRIBUTES
REPLACE_EXISTING
Path source = Paths.get("D:\\study\\demo\\report.txt"),
        target = Paths.get("D:\\study\\demo\\backup.txt");
try {
     Files.copy(source, target,
                StandardCopyOption.REPLACE_EXISTING); 
}catch (NoSuchFileException nse) {
     nse.printStackTrace();
}catch (IOException ioe) {
     ioe.printStackTrace();
}
  • 使用Files类的move()方法可以移动或重命名文件或目录,格式如下:
     static Path move(Path source, Path target, 
                                          CopyOption…options)
                                         // StandardCopyOption枚举是CopyOption接口的一个实现:
ATOMIC_MOVE
COPY_ATTRIBUTES
REPLACE_EXISTING
  • 以下代码将C:\temp\backup.bmp文件移到C:\data目录中。
  Path source = Paths.get("C:\\temp\\backup.bmp");
  Path target = Paths.get("C:\\data\\backup.bmp");
  try {   
        Files.move(source,target,
                     StandardCopyOption.REPLACE_EXISTING);
  }catch(IOException e){
       e.printStackTrace();
  } 

小文件的读写

  • Files类提供了对较小的二进制文件和文本文件读取和写入的方法。
   static Path write(Path path, byte[] bytes,
                                               OpenOption…options)
                                               //StandardOpenOption枚举是OpenOption接口的一个实现:
APPEND, CREATE
CREATE_NEW, DELETE_ON_CLOSE
READ, WRITE, TRUNCATE_EXISTING
  • 下面方法向文件写入若干行。
static Path write(Path path,                                             
                           Iterable<extends CharSequence> lines, 
                           Charset cs,   OpenOption…options)
  • 使用下面方法可以从文件读取所有字节或行:
   static byte[] readAllBytes(Path path)
   static List<String> readAllLines(Path path, Charset cs) 

使用Files类创建流对象

  • 调用Files.newInputStream()获得与文件关联的InputStream对象来读取数据。
  • 调用Files.newOutputStream() 获得与文件关联的OutputStream对象向文件写数据。
  • newInputStream()方法格式如下:
    static InputStream newInputStream(
                     Path path,  OpenOption…options) 
                                                   throws IOException
  Path path = Paths.get("src\\output.dat");
  try(InputStream input = Files.newInputStream(path,
            StandardOpenOption.READ) 
   ){
       // 操作input输入流对象
  }catch(IOException e){
      // 处理异常
  }
  • newOutputStream()方法格式如下:
    static OutputStream newOutputStream(
                     Path path, OpenOption…options) 
                 throws IOException
  Path path = Paths.get("src\\output.dat");
  try(OutputStream output = Files.newOutputStream(path,
            StandardOpenOption.CREATE,  
                     StandardOpenOption.APPEND);
      BufferedOutputStream buffered = 
            new   BufferedOutputStream(output)  )
{
       // 操作output输出流对象
 }catch(IOException e){
      // 处理e的异常信息  }
  • 使用Files类的newBufferedReader()和newBufferedWriter()方法也可创建BufferedReader和BufferedWriter对象。
static BufferedReader newBufferedReader(Path path, Charset charset)
static BufferedWriter newBufferedWriter(Path path, 
  Charset charset, OpenOption…options)  

博主用心写,读者点关注,互动传真情,知识不迷路。

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

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

相关文章

下载中心: 使用异步方法生成文件任务+键集分页查询

文章目录 引言I 下载中心功能进度表设计异步处理文件生成案例II 键集分页查询提高查询效率解决分页查询出现数据重复或丢失案例III 工具线程池基于EasyExcel 生成 excel文件存储系统see also引言 需求: 根据查询条件导出数据,比如交易流水、设备安装资料。 流程设计:点击导…

牛客面经学习笔记(二)

锂离子电池的充电过程可以分为四个阶段&#xff1a;涓流充电&#xff08;低压预充&#xff09;、恒流充电、恒压充电以及充电终止。 阶段1&#xff1a;涓流充电——涓流充电用来先对完全放电的电池单元进行预充(恢复性充电)。在电池电压低于3V左右时采用涓流充电&#xff0c;涓…

Vue 生命周期详解含demo、面试常问问题案例

Vue 生命周期详解、面试常问问题案例 含 demo 文章目录 Vue 生命周期详解、面试常问问题案例 含 demo一、Vue 生命周期是什么二、Vue 中如何使用生命周期钩子1. **beforeCreate**2. **created**3. **beforeMount**4. **mounted**5. **beforeUpdate**6. **updated**7. **beforeD…

8.15笔记

一、mycat读写分离实现 1. 添加一个新的虚拟主机&#xff0c;设置ip为10.1.1.60,主机名为mycat.yuanyu.zhangmin.关闭防火墙 SELinux NetworkManager 2. 上传jdk和mycat安装包 3. 解压并且添加到指定的位置 [rootmycat ~]# ls anaconda-ks.cfg frp initserver.sh jdk1.8…

018集——递归函数和for循环对比(从1加到100实例) ——C#学习笔记

本例分别用递归函数和for循环&#xff0c;求出1到100的和&#xff1a; using System;namespace Mytest {class Mytest{static void Main(string[] args){Calculate Myc new Calculate();int YourNumber 100;int Mysum Myc.Xto1(YourNumber);Console.WriteLine("从1加到…

Element-03.组件-Pagination分页

一.常见组件-分页-属性 参数&#xff1a;background 说明&#xff1a;是否为分页按钮添加背景色 类型&#xff1a;boolean 有background即添加&#xff0c;没有则不添加 参数&#xff1a;layout 说明&#xff1a;组件布局&#xff0c;子组件名用逗号分隔 类型&#x…

86.小米相机修改拍照(尺寸,画幅,比例)的方法

目录 1.打开相机&#xff0c;拍照模式&#xff0c;上面有个箭头或三个点&#xff0c;点击 2.点击画幅 3.点击你想要的画幅即可。 想要修改手机照片的&#xff08;尺寸&#xff0c;画幅&#xff0c;比例&#xff09;时&#xff0c;总会去找分辨率&#xff0c;其实并不是&…

用后端实现一个简单的登录模块2 前端页面

该模块能做到的功能&#xff1a; 1阶&#xff1a;输入账号和密码&#xff0c;输入正确即可返回登录成功的信息&#xff0c;反之则登录失败 2阶&#xff1a;有简单的前端页面&#xff0c;有登录成功和失败的弹窗&#xff0c;还有登录成功的主页面 3阶&#xff1a;前端页面的注…

探索Python的中文转换魔法:zhconv库的神秘力量

文章目录 探索Python的中文转换魔法&#xff1a;zhconv库的神秘力量第一部分&#xff1a;背景介绍第二部分&#xff1a;库的概述第三部分&#xff1a;安装指南第四部分&#xff1a;函数使用示例第五部分&#xff1a;实际应用场景第六部分&#xff1a;常见问题与解决方案第七部分…

【Vue3】路由Query传参

【Vue3】路由Query传参 背景简介开发环境开发步骤及源码总结 背景 随着年龄的增长&#xff0c;很多曾经烂熟于心的技术原理已被岁月摩擦得愈发模糊起来&#xff0c;技术出身的人总是很难放下一些执念&#xff0c;遂将这些知识整理成文&#xff0c;以纪念曾经努力学习奋斗的日子…

24/8/17算法笔记 策略梯度reinforce算法

import gym from matplotlib import pyplot as plt %matplotlib inline#创建环境 env gym.make(CartPole-v0) env.reset()#打印游戏 def show():plt.imshow(env.render(mode rgb_array))plt.show() show()定义网络模型 import torch #定义模型 model torch.nn.Sequential(t…

8月17日星期六今日早报简报微语报早读

8月17日星期六&#xff0c;农历七月十四&#xff0c;早报微语早读。 1、海关总署&#xff1a;接触过猴痘病例的人员入境时应主动申报&#xff1b; 2、284名运动员出征&#xff01;巴黎残奥会中国体育代表团成立&#xff1b; 3、四部门&#xff1a;继续执行对彩票一次中奖不超…

C语言 之 字符相关函数

文章目录 字符分类函数字符转换函数 本章内容主要讲的是c语言中的字符相关的一些函数的作用用法和使用 为了方便我们对字符的各种操作&#xff0c;C语⾔标准库中提供了⼀系列库函数&#xff0c;我们大概可以根据其功能分成两类函数 字符分类函数 C语言中有一系列函数是专门用…

【区块链+金融服务】基于 VoneBaaS 的区块链金融服务管理平台 | FISCO BCOS应用案例

在顺应数字经济发展、强化科技赋能金融的背景下&#xff0c;中央及地方政策层面鼓励“区块链 金融”应用示范项目&#xff0c; 在中小企业征信及风险管理、供应链金融等重点领域开展应用&#xff0c;探索建立区块链金融风险监控体系。同时&#xff0c;随着 科技金融服务逐步升…

学生阅读行为与图书预定平台的设计与实现(全网独一无二,24年最新定做)

目录&#xff1a; 前言&#xff1a; 具体功能如下&#xff1a; 1. 学生角色 2. 图书管理员 3. 图书采购人员 4. 系统管理员 技术栈介绍&#xff1a; 1. Springboot 2. MySQL 3. Vue 4. Java 系统详细界面&#xff1a; 为什么选择我&#xff1a; 前言&#xff1a; 博…

71、docker网络

一、docker网络&#xff1a; 1.1、默认模式&#xff1a; 桥接模式 部署好docker服务&#xff0c;启动之后&#xff0c;就会创建一个虚拟网桥&#xff0c;docker0&#xff0c;这是一个虚拟网络设备&#xff0c;类似于交换机。 [rootdocker1 ~]# ifconfig docker0: flags4163…

Linux:Linux环境基础开发工具使用

✨✨✨学习的道路很枯燥&#xff0c;希望我们能并肩走下来! 文章目录 目录 文章目录 前言 一. Linux 软件包管理器 yum 1.1 什么是软件包 1.2 查看软件包 1.3 如何安装软件 1.4 如何卸载软件 二 Linux编辑器-vim使用 ​编辑 2.1 vim的基本概念 2.2 vim正常模式命令集…

安装postgresql和PGVector

1. 概述 研发有需要&#xff0c;要使用PGVector做向量。简单记录安装postgresql和PGVector过程。 2. 参考 postgresql官方下载连接 postgresql官方linux yum安装 PostgreSQL的安装、配置与使用指南 PostgreSQL向量数据插件–pgvector安装 3. 安装 3.1 只安装postgresql&am…

进程地址空间(一)

目录 1. 语言层面上的地址2. 引入新概念 ---- 地址空间的概念3. 进一步理解地址空间4. 为什么要有地址空间 在正式介绍进程地址空间之前&#xff0c;我们需要做一些铺垫&#xff0c;在父子进程同时运行时&#xff0c;从代码层面上的变量的地址&#xff0c;引入进程地址空间的概…

2.1算法的时间复杂度与空间复杂度

本篇博客介绍算法的时间复杂度与空间复杂度 一、算法效率 算法好坏从时间和空间两个维度衡量 二、时间复杂度 1&#xff0e;概念 时间复杂度是算法中基本操作的执行次数&#xff0c;定量描述了算法的运行时间 2&#xff0e;注意 &#xff08;1&#xff09;时间复杂度是偏…