Java程序设计2(六)

第五章:IO流 (java.io包中)

一、理解 1. 简单而言:流就是内存与存储设备之间传输数据的通道、管道。

2. 分类: (1) 按方向(以JVM虚拟机为参照物)【重点】 输入流:将中的内容读入到中。 输出流:将中的内容写入到中。

(2) 按单位: 字节流:以字节为单位,可以操作所有类型的文件。 字符流:以字符为单位,只能操作文本类型的文件。

 (3) 按功能: 节点流:具有基本的读写功能。 过滤流:在节点流的基础上,增加新的功能。

二、字节流 1. 父类:字节流的父类(抽象类):

(1) InputStream:字节输入流 对应的操作为读操作 功能方法:read方法

(2) OutputStream:字节输出流 对应的操作为写操作 功能方法:write方法

2. 字节节点流 (1) FileOutputStream:字节节点输出流 、文件字节输出流 构造方法: FileOutputStream fos = new FileOutputStream("D:\\test56/a.txt"); 参数:代表操作文件的路径,如果指定的文件夹不存在,则运行报错,错误信息为:     java.io.FileNotFoundException: D:\test5\a.txt (系统找不到指定的路径。);如果指定的 文件不存在,系统自动创建 绝对路径:盘符:\\文件夹\\ 文件 相对路径:文件夹/文件,默认在当前的项目中查找对应的文件夹内容   功能方法: write(int n):将单个字节写入文件中 close():关闭流 (2) FileInputStream:文件字节输入流  

3. 字节过滤流   构造方法:       FileInputStream fis = new FileInputStream("file/c.txt");       参数说明:参数代表操作路径,如果指定的文件不存在,则运行报错,错误信息为:               java.io.FileNotFoundException: file\c.txt (系统找不到指定的文件。)       功能方法:         int read():一次性读取一个字节内容,将读取的内容作为返回值返回,达到文件尾部时,返回-1         close():关闭流,释放资源

(1) 过滤流:BufferedOutputStream/BufferedInputStream 缓冲流,提高IO效率,减少访问磁盘的次数; 数据存储在缓冲区中,flush是将缓存区的内容写入文件中,也可以直接close。

三、字符流

1. 字符流的父类(抽象类): Reader:字符输入流 对应的操作为读操作 功能方法:read方法 Writer:字符输出流 对应的操作为写操作 功能方法:write方法

2. 文件字符流 (1) FileWriter文件字符输出流,继承Writer中的方法: public void write(int n):将单个字符写入到文件中 (2) FileReader文件字符输入流,继承Reader中的方法: public int read():一次读取一个字符的内容

3. 字符过滤流 (1) BufferedReader: 功能方法,readLine():一次性读取一行内容,返回内容为String,读取达到尾部,返回-1 (2) PrintWriter println(参数);

4. 桥转换流

四、File类 1. IO流:对文件中的内容进行操作。 File类:对文件自身进行操作,例如:删除文件,文件重新命名等。

2. 操作

public class TestFile {   public static void main(String[] args) throws IOException {       File file = new File("file/hh.txt");       /*System.out.println(file.exists());       file.createNewFile();*/       if(file.exists()){           System.out.println("文件存在,则直接使用...");           FileInputStream fis = new FileInputStream(file);       }else{           System.out.println("文件不存在,创建新的文件....");           file.createNewFile();       }   } }

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

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

相关文章

Java图片拼接

最近遇到一个挺离谱的功能,某个表单只让上传一张图,多图上传会使导出失败。跟开发沟通后表示,这个问题处理不了。我... 遂自己思考,能否以曲线救国的方式拯救一下,即不伤及代码之根本,又能解决燃眉之急。灵…

工程经济学(尊享版)

工程经济学是一门应用性的经济学科 也是一门介于自然科学与社会科学的之间的边缘学科。它是根据现代科学技术和社会经济发展的需要,在自然科学和社会科学的发展过程中相互渗透、相互促进,逐渐形成和发展起来的,是工程技术学科和经济学科交叉的…

爬虫基础学习

爬虫概念与工作原理 爬虫是什么:爬虫(Web Scraping)是自动化地访问网站并提取数据的技术。它模拟用户浏览器的行为,通过HTTP请求访问网页,解析HTML文档并提取有用信息。 爬虫的基本工作流程: 发送HTTP请求…

.NET重点

B/S C/S什么语言 B/S: 浏览器端:JavaScript,HTML,CSS 服务器端:ASP(.NET)PHP/JSP 优势:维护方便,易于升级和扩展 劣势:服务器负担沉重 C/S java/.NET/…

STM32HAL I2C函数

8.5 使用IIC协议读写EEPROM 硬件方式实现 (HAL库) **HAL_I2C_Mem_Write() :这种方法可以写1个或者多个字节 ** /*** brief 以阻塞模式向指定的内存地址写入数据* param hi2c 指向 I2C_HandleTypeDef 结构体的指针,包含指定 I2C 的配置信息…

智能工厂的设计软件 三种处理单元(NPU/GPU/CPU)及其在深度学习框架中的作用 之5(腾讯云AI代码助手 之3)

前情提要 前面讨论了智能工厂的设计软件 中三种处理单元(NPU/GPU/CPU)及其在深度学习框架中的作用是协作完成一个深度学习任务。 最后通过明确深度学习本身的目的是建构一个公理化系统--作为 自然语言形式化 建模约束(为人类编辑 &#xff0…

Linux——卷

Linux——卷 介绍 最近做的项目,涉及到对系统的一些维护,有些盘没有使用,需要创建逻辑盘并挂载到指定目录下。有些软件需要依赖空的逻辑盘(LVM)。 先简单介绍一下卷的一些概念,有分区、物理存储介质、物…

M3D: 基于多模态大模型的新型3D医学影像分析框架,将3D医学图像分析从“看图片“提升到“理解空间“的层次,支持检索、报告生成、问答、定位和分割等8类任务

M3D: 基于多模态大模型的新型3D医学影像分析框架,将3D医学图像分析从“看图片“提升到“理解空间“的层次,支持检索、报告生成、问答、定位和分割等8类任务 论文大纲理解1. 确认目标2. 分析过程(目标-手段分析)核心问题拆解 3. 实…

clickhouse-副本和分片

1、副本 1.1、概述 集群是副本和分片的基础,它将ClickHouse的服务拓扑由单节点延伸到多个节点,但它并不像Hadoop生态的某些系统那样,要求所有节点组成一个单一的大集群。ClickHouse的集群配置非常灵活,用户既可以将所有节点组成…

Redis 集群实操:强大的数据“分身术”

目录 Redis Cluster集群模式 1、介绍 2、架构设计 3、集群模式实操 4、故障转移 5、常用命令 Redis Cluster集群模式 1、介绍 redis3.0版本推出的Redis Cluster 集群模式,每个节点都可以保存数据和整个集群状态,每个节点都和其他所有节点连接。Cl…

C# 从控制台应用程序入门

总目录 前言 从创建并运行第一个控制台应用程序,快速入门C#。 一、新建一个控制台应用程序 控制台应用程序是C# 入门时,学习基础语法的最佳应用程序。 打开VS2022,选择【创建新项目】 搜索【控制台】,选择控制台应用(.NET Framew…

WPF制作图片闪烁的自定义控件

1.定义自定义控件 BlinkingImage.cs: using System; using System.Windows; using System.Windows.Controls; using System.Windows.Media.Animation; using System.Windows.Media.Imaging;namespace YourNamespace {public class BlinkingImage : Control{public static rea…

猫咪睡眠:萌态背后的奥秘与启示

猫咪的睡眠,犹如一本充满趣味与奥秘的小书,每一页都写满了它们独特的习性与本能。 猫咪堪称 “睡眠大师”,睡眠时间之长令人咋舌,一天中大约有 12 - 16 个小时在梦乡中度过,幼猫和老年猫甚至能睡更久。它们似乎深谙放…

QML Text组件

文章目录 前言主体基本文本显示字体和样式富文本支持长文本的处理文本样式与效果超链接Label 元素总结 前言 在 QML 中,Text 和 Label 是常用的文本显示元素,它们在显示文本方面具有相似性,但在功能和定制性上也存在一些差异。Text 元素用于…

基于前端技术UniApp和后端技术Node.js的电影购票系统

文章目录 摘要Abstruct第一章 绪论1.1 研究背景与意义1.2 国内外研究现状 第二章 需求分析2.1 功能需求分析2.2 非功能性需求分析 第二章系统设计3.1 系统架构设计3.1.1 总体架构3.1.2 技术选型 3.2 功能架构 第四章 系统实现4.1 用户端系统实现4.1.1 用户认证模块实现4.1.2 电…

网络安全的攻防战争

当前,来自Web的各种攻击已经成为全球安全领域最大的挑战,并且有愈演愈烈之势。目前的难点在于,很多Web威胁的思路已经有别于传统,隐蔽、牟利、产业化已经成为了此类威胁的特点。对广大企业用户来讲,Web威胁令人无法忽视…

用adb命令给APP做压力测试,有什么不同?

压力测试 app做压力测试目的是模拟用户在使用软件时随意向软件发出指令,例如操作app的点击,滑动,返回等一系列随机事件,来检测app的承受能力 第一步:手机安装包需要待测的app 第二步:输入adb start-ser…

2023年西南大学数学建模C题天气预报解题全过程文档及程序

2023年西南大学数学建模 C题 天气预报 原题再现: 天气现象与人类的生产生活、社会经济、军事活动等方方面面都密切相关,大到国家,小到个人,都受到极端天气的影响。2022年6月,全球陆地地区出现了自1850年代末人类有系…

Android 10 Launcher3 删除谷歌搜索

命令行获取页面 手机处于launcher首页 adb shell dumpsys window | findstr mCurrentFocus 输出 mCurrentFocusWindow{9afb34d u0 com.android.launcher3/com.android.launcher3.Launcher} 找到源码路径 packages/apps/Launcher3/ Android10源码 搜索控件 grep -r -n Apps…

LabVIEW机械故障诊断中的传感器选择

在机械设备故障诊断中,传感器是关键设备,用于采集设备运行状态的各种数据。常见的传感器类型和选择方法如下: 1. 振动传感器 用于检测设备运行中的振动特征,常见于旋转机械和轴承故障诊断。 加速度传感器:检测高频振…