Java 中操作文件

文章目录

  • Java 中操作文件
    • File 概述
      • 属性
      • 构造方法
      • 方法
      • 代码示例
  • 文件内容的读写--数据流
    • InputStream 概述
      • 常用方法
    • FileInputStream 概述
      • 构造方法
      • 常用方法
      • 代码示例
      • 通过 Scanner 进行字符读取
      • FileReader
    • OutputStream 概述
      • 常用方法
    • FileOutputStream 概述
      • 构造方法
      • 常用方法
      • 代码示例
      • FileWriter
    • PrintWriter
      • 构造方法
      • 常用方法
      • 代码示例

Java 中操作文件

java.io.File类是 Java 中用于处理文件和目录路径的类。它提供了文件和目录的创建、删除、重命名等操作,但不直接用于文件的读写(读写需要使用输入/输出流)

File 概述

属性

修饰符及类型属性说明
staticStringpathSeparator依赖于系统的路径分隔符,String类型的表示
staticcharpathSeparator依赖于系统的路径分隔符,char类型的表示

构造方法

签名说明
File(File parent, String child)根据父目录+孩子文件路径,创建一个新的 File 实例
File(String pathname)根据文件路径创建一个新的 File 实例,路径可以是绝对路径或者相对路径
File(String parent, String child)根据父目录+孩子文件路径,创建一个新的 File 实例,父目录用路径表示

方法

修饰符及返回值类型方法签名说明
StringgetParent()返回文件的父目录路径
StringgetName()返回文件名
StringgetPath()返回定义时的文件路径
StringgetAbsolutePath()返回绝对路径
StringgetCanonicalPath()返回标准形式的绝对路径
booleanexists()判断File对象描述的文件是否真实存在
booleanisDirectory()判断File对象代表的文件是否是一个目录
booleanisFile()判断File对象代表的文件是否是一个普通文件
booleancreateNewFile()根据File对象,⾃动创建一个空文件。成功创建后返回true
booleandelete()根据File对象,删除该文件。成功删除后返回true
voiddeleteOnExit()根据File对象,标注文件将被删除,删除动作会到JVM运⾏结束时才会进⾏
String[]list()返回File对象代表的目录下的所有文件名
File[]listFiles()返回File对象代表的目录下的所有文件,以File对象表⽰
booleanmkdir()创建File对象代表的目录
booleanmkdirs()创建File对象代表的目录,如果必要,会创建中间目录
booleanrenameTo(Filedest)进⾏文件改名,也可以视为我们平时的剪切、粘贴操作
booleancanRead()判断用户是否对文件有可读权限
booleancanWrite()判断用户是否对文件有可写权限

代码示例

package com.zxy.lesson01;import java.io.File;
import java.io.IOException;public class Demo_04 {public static void main(String[] args) throws IOException {// 用相对路径创建一个文件对象File file = new File("./test.txt");// 判断文件是否存在System.out.println(file.exists());     // false// 返回文件名System.out.println(file.getName());     // test.txt// 返回文件大小(字节),如果文件不存在,则返回0LSystem.out.println(file.length());      // 0// 判断是否是文件目录System.out.println(file.isDirectory()); // false// 判断是否是文件System.out.println(file.isFile());      // false// 判断是否可读System.out.println(file.canRead());     // false// 判断是否可写System.out.println(file.canWrite());    // false// 判断是否可执行System.out.println(file.canExecute());  // false// 判断是否隐藏System.out.println(file.isHidden());    // false// 创建文件System.out.println(file.createNewFile());  // true// 返回定义时的路径System.out.println(file.getPath());     // .\test.txt// 返回绝对路径System.out.println(file.getAbsolutePath()); // E:\Learn\java\114\04-JavaEE\01-初阶\code\JavaEE01\.\test.txt// 返回该文件的父目录路径System.out.println(file.getParent(

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

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

相关文章

什么是RDD以及它在Spark中的作用

RDD(Resilient Distributed Dataset),即弹性分布式数据集,是Spark中最基本的数据抽象。以下是对RDD的详细解释以及它在Spark中的作用: 一、RDD的定义与特性 定义: RDD是一个不可变、可分区、里面的元素可并…

【附带脚本】解决notion加载慢问题

问题原因 notion网站的服务器在国外,因为网络问题(国际出口带宽限制)导致访问速度较慢和域名解析延迟等问题。 解决方案 通过在 hosts 文件中直接指定一个更快的 IP 地址(例如国内镜像服务器),可以显著提…

Banana Pi OpenWRT One 官方路由器的第一印象

OpenWRT One是OpenWRT开源社区推出的首款官方开发板,与Banana Pi社区共同设计,由Banana Pi制造和发行。路由器采用蓝色铝合金外壳,质感极佳,视觉效果远超宣传图。整体设计简洁,呈长方形,虽然不是特别时尚&a…

【信息学奥赛一本通 C++题解】1285:最大上升子序列和

信息学奥赛一本通(C版)在线评测系统 基础算法 第一节 动态规划的基本模型 1285:最大上升子序列和 “最大上升子序列和”问题课堂讲解 1. 理解题意 同学们,想象我们有一串数字,就像一串彩色的珠子,每个珠子…

刷题记录Day4(补)

24. 两两交换链表中的节点 ① 使用虚拟节点 ② 最后返回头结点的时候,head 本来的头节点已经和第二位交换了,需要重新赋值 ③ 使用临时指针保存变量 ④ 如果是空的不用特殊判断,空的返回头节点也还是空的 class Solution { public:ListNo…

花西子携手赛博威共创新品创新平台,驱动“新质美力”高质量发展

国货彩妆品牌花西子与赛博威信息科技达成【新品创新平台】项目合作,共探“新质美力”的高质量发展路径。 近日,赛博威信息科技CEO陈国平携团队走进花西子“百年之诗”馆,深入了解花西子的品牌理念、企业文化及百年愿景,并与花西子…

[JVM篇]垃圾回收器

垃圾回收器 Serial Seral Old PartNew CMS(Concurrent Mark Sweep) Parallel Scavenge Parallel Old G1 ZGC

在VScode内接入deepseek(本地部署版包会)

目录 1. 首先得有vscode软件 2. 在我们的电脑本地已经部署了ollama,我将以qwen作为实验例子 3. 在vscode上的扩展商店下载continue 4. 下载完成后,依次点击添加模型 5. 在这里可以添加,各种各样的模型,选择我们的ollama 6. 选…

[题解]2024CCPC重庆站-小 C 的神秘图形

Sources:K - 小 C 的神秘图形Abstract:给定正整数 n ( 1 ≤ n ≤ 1 0 5 ) n(1\le n\le 10^5) n(1≤n≤105),三进制字符串 n 1 , n 2 ( ∣ n 1 ∣ ∣ n 2 ∣ n ) n_1,n_2(|n_1||n_2|n) n1​,n2​(∣n1​∣∣n2​∣n),按如下方法…

AI外呼机器人:营销新利器还是骚扰电话的升级版?

"您好,这里是XX房产,最近有购房需求吗?""您好,您最近有种牙需求吗?" 相信很多人都接到过类似的营销电话,而电话那头,很可能已经不是真人,而是AI外呼机器人。 近…

应对DeepSeek总是服务器繁忙的解决方法

最近由于访问量过大,DeepSeek服务器官网经常弹出:“服务器繁忙,请稍后再试”的提示,直接卡成PPT怎么办?服务器繁忙直接看到视觉疲劳: 解决DeepSeek卡顿问题 DeepSeek使用卡顿问题,是因为访问量…

游戏引擎学习第107天

仓库:https://gitee.com/mrxiao_com/2d_game_2 回顾我们之前停留的位置 在这段内容中,讨论了如何处理游戏中的三维效果,特别是如何处理额外的“Z层”。由于游戏中的艺术资源是位图而不是3D模型,因此实现三维效果变得非常具有挑战性。虽然可…

Spring Boot最新技术特性深度解析与实战应用

一、反应式编程:WebFlux与非阻塞架构 1.1 核心价值与场景 Spring Boot 2.x全面拥抱反应式编程模型,通过Spring WebFlux支持异步非阻塞的请求处理,适用于高并发、低延迟的微服务场景(如实时通信、物联网数据处理)。其基于Reactor库实现,采用事件循环模型,显著提升资源利…

2. 图片性能优化

图片性能优化 图片懒加载 如何判断图片出现在了当前视口 &#xff08;即如何判断我们能够看到图片&#xff09;如何控制图片的加载 原生实现 <img src"shanyue.jpg" loading"lazy" />loading"lazy" 延迟加载图像&#xff0c;直到它和视…

sql盲注脚本

在sqli-labs中的第8题无回显可以尝试盲注的手法获取数据 发现页面加载了3秒左右可以进行盲注 布尔盲注数据库名 import requestsdef inject_database(url):datanamefor i in range(1,15):low 32high 128mid (low high) // 2while low < high:path "id1 and asci…

文字识别产品、文档识别系统、表格识别API

文字识别技术让文字录入工作不再繁琐。人工智能时代&#xff0c;文字识别接口产品运用先进的光学字符识别与图像处理技术&#xff0c;衍生了一系列图像文字快速提取的应用场景。无论是扫描文件、照片文字还是PDF文档&#xff0c;文字识别接口都能轻松应对。支持对中文简体、中文…

Python 依赖管理的革新——Poetry 深度解析

引言 在 Python 生态中&#xff0c;依赖管理一直是开发者关注的重要话题。从最初的 pip 和 virtualenv&#xff0c;到后来的 pipenv&#xff0c;Python 依赖管理工具不断进化。而近年来&#xff0c;Poetry 作为一款集成包管理和虚拟环境管理的新兴工具&#xff0c;逐渐获得了广…

springcloud集成gateway

本篇文章只介绍gateway模块的搭建步骤&#xff0c;并无gateway详细介绍 gateway详解请查看&#xff1a;SpringCloudGateway官方文档详解 前置处理 父模块中已指定版本 不知道如何选择版本看这篇&#xff1a; 手把手教你梳理springcloud与springboot与springcloudalibaba的版本…

【Elasticsearch】文本分析Text analysis概述

文本分析概述 文本分析使 Elasticsearch 能够执行全文搜索&#xff0c;搜索结果会返回所有相关的结果&#xff0c;而不仅仅是完全匹配的结果。 如果你搜索“Quick fox jumps”&#xff0c;你可能希望找到包含“A quick brown fox jumps over the lazy dog”的文档&#xff0c…

建筑兔零基础自学python记录22|实战人脸识别项目——视频人脸识别(下)11

这次我们继续解读代码&#xff0c;我们主要来看下面两个部分&#xff1b; 至于人脸识别成功的要点我们在最后总结~ 具体代码学习&#xff1a; #定义人脸名称 def name():#预学习照片存放位置path M:/python/workspace/PythonProject/face/imagePaths[os.path.join(path,f) f…