java文件IO操作

前言:

java里面的文件操作分为文件系统操作和文件内容操作。文件系统操作主要是针对File这个类来进行操作,而文件内容操作总的来说有四个:Reader,Writer,InputStream,OutputStream,前面两个是通过字符来操作,后面两个是通过字节来操作。

1.文件系统操作

File类:

(1)构造方法:

最常使用的是第二种构造方法,直接通过路径去new一个新的File实例。这个实例就相当于打开了一个文件,这个文件可以是真实存在的,也是是虚拟的(下面会介绍如果是虚拟的,那么将可以新建一个文件)。

(2)方法:

具体的所有File类中的方法请去官方api网站上查看。

2.文件内容操作

ps:文件内容操作时需要注意一个点就是,文件在读取结束后应该进行文件的关闭,否则会造成文件资源泄露。这里提供两种方式来关闭文件:1.手动关闭文件(Reader和Writer的示例中使用这种方法)2.通过try with resources来关闭文件,这种方式不用手动关闭文件,会自动调用close方法。但是try括号里的类必须实现closeable接口

(1)Reader:

是针对字符进行操作的,现有如下示例:

Reader由于是一个抽象类,所以不能够直接new实例化对象,在JAVAapi原生库中给我们提供了一种专门用来读取文件内容的类:FileReader,所以我们new对象的时候new的是FileReader的实例化对象。 

我们可以看到程序运行结果就是mma.txt中的文件内容。

(2)Writer:

 示例如下:

这里必须关闭文件否则文件写入数据将会失败!!! 

Writer在进行文件数据写入的时候,会清空之前的数据,但是可以通过手动设置append的参数为true,就可以直接在之前的文件后面进行追加。

示例:

 

(3)InputStream:

通过字节进行文件的读取,这个读取是相当于cpu来说,硬盘往cpu上输入数据就是读取硬盘中的数据。

示例:

(4)OutputStream:

也是通过字节进行写文件。本质是cpu输出数据到硬盘(都是相对于cpu来说)。

示例:

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

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

相关文章

CCAA质量管理【学习笔记】​​ 备考知识点笔记(七)质量相关法律法规及《管理体系审核员准则》2021修订3

5、质量管理体系基础考试大纲 3.3法律法规和其他要求 a)《中华人民共和国民法典》第三编 合同; b)《中华人民共和国消费者权益保护法》 c)《中华人民共和国产品质量法》 d) 中国认证认可协会相关人员注册与管理要求 目 录 前 言 第一章 总则 1.1 引言 1.2 适…

重学java 79.JDK新特性 ⑤ JDK8之后的新特性

别怕失败,大不了重头再来 —— 24.6.20 一、接口的私有方法 Java8版本接口增加了两类成员: 公共的默认方法 公共的静态方法 Java9版本接口又新增了一类成员: 私有的方法 为什么IDK1.9要允许接口定义私有方法呢? 因为我们说接口是规范,规范是…

由于找不到msvcp140.dll无法继续执行代码是什么意思,解决msvcp140.dll文件

由于找不到msvcp140.dll无法继续执行代码这种提示,你知道要怎么去处理么?出现这情况,你的程序就代表出现问题了,你会发现打不开,我们需要修复msvcp140.dll文件才能正常的使用程序。今天我们就来聊聊msvcp140.dll找不到…

加密好的WPSword文档,忘记密码怎么办?

在日常办公和学习中,我们经常使用WPS Word等文档处理软件来创建和编辑重要文件。为了保护这些文件不被未经授权的人访问,我们通常会选择给文档设置密码。然而,有时我们可能会因为时间久远或其他原因而忘记自己设置的密码,这时该如…

【Go】用 DBeaver、db browser 和 SqlCipher 读取 SqlCipher 数据库

本文档主要描述如何用 DBeaver、db browser 和 SqlCipher 上打开加密的 SQLite3 数据库(用 SqlCipher v3 加密) 软件版本 DBeaver:v24.1.0 SQLite-driver: sqlite-jdbc-3.46.0.0.jar dbbrowser-for-sqlite-cipher:3.12.2 SqlCipher cli(ubuntun)&am…

如何避免在React中的回调函数中使用箭头函数可能引起的内存泄漏?

在React中,箭头函数在回调函数中的使用确实可能引发性能问题,尤其是当这些函数在渲染方法或者组件内部被定义时。每次组件重新渲染时,都会创建这些函数的新实例,这可能导致不必要的计算和内存使用,甚至在某些情况下引发…

2024年了,上大学可以不需要用到电脑吗?

前言 在2024年的今天,电脑已经成为了人们工作生活的一大部分。Oh, no!好像手机才是。 好像每个人都是这样的:可以没有电脑,但不能没有手机…… 所以2024年的今天,上大学的小伙伴们可以不需要用到电脑吗?…

3D打印随形透气钢引领模具排气新潮流

随着模具制造技术的不断发展,金属3D打印技术正逐渐成为模具制造领域的一大亮点。除了已广泛应用的随形水路技术外,金属3D打印在解决模具困气问题上同样展现出独特优势,成为模具排气、解决困气的重要技术方向。 模具的排气系统一直是模具设计制…

前端菜鸡学习日记 -- computed和watch的用法

目录 1.computed: 2.watch: 哈喽哇大家,又是新的一周,因为一些特殊的原因,所以目前是比较闲的,就趁机多学习一点东西把,这些学习日记就是学习中的笔记咯,流水账日记则是工作中遇到…

USB CDC简介

USB CDC类、USB2.0标准与PSTN之间的关系 CDC(Communication Device Class)类是USB2.0标准下的一个子类,定义了通信相关设备的抽象集合。它与USB2.0标准以及其下的子类的相互关系如下图所示: 如上图,USB2.0标准下定义了很多子类,有音频类&…

计算机网络知识点汇总(三)

1.2 计算机网络体系结构与参考模型 1.2.1 计算机网络分层结构 计算机网络的各层及其协议的集合称为网络的体系结构(Architecture)。换言之,计算机网络的体系结构就是这个计算机网络及其所应完成的功能的精确定义。要强调的是,这些功能究竟是用何种硬件…

性能测试(五)—— 数据库性能测试-mysql

1 mysql性能测试的主要内容 MySQL数据库介绍MySQL数据库监控指标MySQL慢查询工作原理及操作SQL的分析与调优方法MySQL索引的概念及作用MySQL索引的工作原理与设计规范MySQL存储引擎MySQL实时监控MySQL集群监控方案MySQL性能测试的用例准备使用Jmeter开发MySQL性能测试脚本执行…

Windows更新报错 0xc1900101 0x30018 解决方案

卸载自带的电脑管家(比如华硕、联想、华为等) 通过禁用第三方驱动启动Windows(winr 运行 msconfig),然后禁用掉第三方服务,重启系统。 检查更新,应该问题就能解决 记得重新运行msconfig&…

1分钟解决海康威视摄像头网页预览失败显示纯灰色问题

先用老IE浏览器登录,会提醒下载插件 下载这个Web的插件安装后,重开网页就都能看了

使用 Python 中的美丽汤进行网络数据解析的完整指南

Beautiful Soup 是一个广泛使用的 Python 库,在数据提取方面发挥着重要作用。它为解析 HTML 和 XML 文档提供了强大的工具,使从网页中轻松提取有价值的数据成为可能。该库简化了处理互联网上非结构化内容的复杂过程,使您可以将原始网页数据转…

【C语言】函数指针

首先看一段代码&#xff1a; #include <stdio.h>void test(){printf("hehe\n");}int main(){printf("%p\n", test);printf("%p\n", &test);return 0;} 输出的结果&#xff1a; 输出的是两个地址&#xff0c;这两个地址是 test 函数的…

Nuxt 3组件开发与管理

title: Nuxt 3组件开发与管理 date: 2024/6/20 updated: 2024/6/20 author: cmdragon excerpt: 摘要&#xff1a;本文深入探讨了Nuxt 3的组件开发与管理&#xff0c;从基础概念、安装配置、目录结构、组件分类与开发实践、生命周期与优化&#xff0c;到测试与维护策略。详细…

源代码保密的七种有效方法分享

在当今数字化时代&#xff0c;访问安全和数据安全成为企业面临的重要挑战。传统的边界防御已经无法满足日益复杂的内网办公环境&#xff0c;层出不穷的攻击手段已经让市场单一的防御手段黔驴技穷。当企业面临越来越复杂的网络威胁和数据泄密风险时&#xff0c;更需要一种综合的…

多组学双疾病串扰怎么做?PAN-AD九个机器学习+MR+单细胞,工作量不少

说在前面 “串扰”这个名词听起来高级了一个level&#xff0c;其实就是MR-通路的双疾病联合分析。虽然是筛选标志物的思路&#xff0c;但是工作量不小&#xff0c;作者还收集了13个不同AD自身免疫疾病数据集用于验证自己的机器学习模型&#xff0c;分析就是一些常规的WGCNA、P…

SpringBoot集成logback初始化源码解析(部分)

一.SpringBoot配置扩展点 SpringBoot日志模块使用监听的方式进行初始化&#xff0c;在SpringBoot项目启动后&#xff0c;会通知日志监听器 在日志监听器中ApplicationStartingEvent事件用来确定到底使用哪个日志系统&#xff0c;logback log4j等 在日志监听器中ApplicationEn…