Java学习笔记28——字节流1
IO流概述和分类
- IO流
- IO流的分类
- 字节流
- 字节流写数据
- FileOutputStream
- 字节流写数据的三种方式
- 字节流写数据的两个问题
- 字节流写数据加异常处理
IO流
IO:输入输出
流:一种抽象的概念,是对数据传输的总称,流的本质就是数据传输
IO流的分类
-
按照数据的流向分为
输入流 读数据 输出流 写数据 -
按照数据类型
| 字节流 | 字符流 |
|---|---|
| 字节输入/输出流 | 字符输入/输出流 |
注意读得懂的东西用字符流,都不懂的用字节流(用记事本打开)
不知道的情况下就用字节流
字节流
在java.io下
字节流的抽象基类
- InputStream:表示字节输入流的所有类的超类
- OutputStream:表示字节输出流的所有类的超类
子类名称都是以父类名为后缀的
字节流写数据
FileOutputStream
文件输出流用于将数据写入File
FileOutputStream(String name):创建文件输出流,以指定名称写入文件
public class FileOutputStreamDemo1{public static void main(String[] args) throws IOException{//创建字节输出流对象FileOutputStream fos=new FileOutputStream("myByteStream\\fos.txt");fos.write(97);//将指定字节写入,97对应的数据是afos.write(57);//写入字符9//所有和io相关的操作最后都要释放资源fos.close();}
}
字节流写数据的三种方式
| 方法名 | 说明 |
|---|---|
| void write(int b) | 将指定的字节写入此文件输出流 一次写入一个字节数据 |
| void write(byte[] b) | 将b.length字节从指定的字节数组写入此文件输出流 一次写入一个字节数组的数据 |
| void write(byte[] b,int off,int len) | 将len字节从指定的字节数组开始,从偏移量off开始写入此文件输出流 一次写一个字节数据的部分数据 |
字节流写数据的两个问题
- 如何换行?
写入’\n’
但是windows的记事本不识别
windows:\r\n
linux:\n
mac:\r - 如何追加写入?
FileOutputStream fos=new FileOutputstream(String name,boolean true) 第二个参数为True则是追加
字节流写数据加异常处理
public class FileOutputStreamDemo1{public static void main(String[] args) {try{//创建字节输出流对象FileOutputStream fos=new FileOutputStream("myByteStream\\fos.txt");fos.write("Hello".getBytes());//所有和io相关的操作最后都要释放资源fos.close();}catch(IOException e){e.printStackTrace();}}
}
finally在异常处理时提供的finally块来执行所有的清除操作。如IO种的释放资源
特点被finally控制的语句一定会执行,除非JVM退出
try{//可能出现异常的代码}catch(异常类名 变量名){//异常处理代码}finally{//执行所有清除操作}
相关文章:
Java学习笔记28——字节流1
IO流概述和分类 IO流IO流的分类字节流字节流写数据FileOutputStream字节流写数据的三种方式字节流写数据的两个问题字节流写数据加异常处理 IO流 IO:输入输出 流:一种抽象的概念,是对数据传输的总称,流的本质就是数据传输 IO流的…...
C++连接串口方式(MFC版本)(简单版本)
ComSerialPort.h /*_________________________串口________________________________*/class Com_SerialPort { public:Com_SerialPort();Com_SerialPort(int port, int baudRate, int byteSize, int parity, int stopBits);~Com_SerialPort(); public:bool Connect(bool bMut…...
ospf重发布
华子目录 一、实验拓扑二、实验要求三、实验思路1、配置接口IP地址以及环回地址(以此类推)2、配置动态路由协议3、重发布4、更改接口类型5、配置路由策略 一、实验拓扑 二、实验要求 1、使用双点双向重发布2、所有路由器进行最佳选路3、存在备份路径&am…...
基于weka手工实现K-means
一、K-means聚类算法 K均值聚类(K-means clustering)是一种常见的无监督学习算法,用于将数据集中的样本划分为K个不同的类别或簇。它通过最小化样本点与所属簇中心点之间的距离来确定最佳的簇划分。 K均值聚类的基本思想如下: …...
分布式系统监控zabbix安装部署及使用
分布式系统监控zabbix安装部署及使用 一.zabbix监控 1.什么是zabbix zabbix:是一款开源免费的,自动化发现服务与网络设备的分布式监控,可以监视应用层服务并以web前端页面集中管理并展示。 2.zabbix功能 监控服务器cpu负载、服务器内存使…...
【H5】使用 JavaScript 和 CSS 来完成实现鼠标接触时显示一个图片弹窗
以下是一个示例,演示了如何在鼠标接触时显示一个图片弹窗: HTML: <a href"#" class"popup-link" target"_blank"><i class"fab fa-weixin"></i> </a><div id"popup-containe…...
CSS选择器分类梳理并高亮重点
前言 主要内容来自菜鸟教程 CSS 选择器 | 菜鸟教程 分类是我自己理解的分类,示例说明优化统一了表述风格。 正文 选择器CSS示例示例说明基础*2*选择所有元素:root3:root选择文档的根元素element1p选择所有<p>元素:not(selector)3:not(p)选择所有并非p元素…...
Python批量给excel文件加密
有时候我们需要定期给公司外部发邮件,在自动化发邮件的时候需要对文件进行加密传输。本文和你一起来探索用python给单个文件和批量文件加密。 python自动化发邮件可参考【干货】用Python每天定时发送监控邮件。 文章目录 一、安装pypiwin32包二、定义给excel加…...
程序设计 树基础
✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心&…...
Java 并发编程与CAS基本原理
一、Java并发基础知识 Java里的程序天生就是多线程的,那么有几种新启线程的方式? 两种,启动线程的方式只有: 1、X extends Thread;,然后X.start; 2、X implements Runnable;然后交给Thread运行。 Java…...
qt creater运行按钮灰色,问题记录
第一次安装还没运行就出了三个错误: 1.F:\wei\Qt\Tools\CMake_64\share\cmake-3.24\Modules\CMakeTestCXXCompiler.cmake:62: error: The C compiler "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/BIN/amd64/cl.exe" is not able to compil…...
【jvm】类加载器的分类
目录 一、说明二、示例2.1 代码2.2 截图 三、启动类加载器四、扩展类加载器五、应用程序类加载器 一、说明 1.jvm支持两种类型的类加载器,分别是引导类加载器(bootstrap classloader)和自定义类加载器(user-defined classloader&a…...
电路基础之电容
电容器(Capacitor)是由两个导体电极之间夹着一个电介质而组成的元件。这两个电极可以是金属板、箔片、涂层等,而电介质则是放置在电极之间的绝缘材料。电容器的基本构成包括以下几个要素: 电极:电容器的电极是两个导体…...
函数柯里化
文章目录 基本概念柯里化(Currying)是什么?通用的柯里化实现ES5 实现ES6 实现 基本概念 在讲柯里化之前我们先来了解一些基本概念: Function.length: length 属性指明函数的形参个数 function func1() {} function …...
【HBZ分享】ES中的Reindex重建索引
Reindex如何实现索引重建? 滚动索引 批量复制 Reindex存在的问题 如果新的索引没有提前创建好,并指定字段类型,那么重建后的新索引类型极有可能会和旧的索引不一致,因为ES他会推断类型,而推断错误率从实战来说那是…...
【PostgreSQL】几个提高性能的小特性
一、LOCALE 与 “operator class” 在PostgreSQL里,LOCALE默认使用C的本地化规则。LOCALE是一种文化偏好的区域设置,包括字母表、排序、数字格式等。 LOCALE里有一个比较重要的规则LC_COLLATE,即排序方式(Collation),它会对数据…...
[C语言] 指针
1. 指针是什么 2. 指针和指针类型 3. 野指针 4. 指针运算 5. 指针和数组 6. 二级指针 7. 指针数组 目录 1. 指针是什么? 2. 指针和指针类型 2.1 指针-整数 2.2 指针的解引用 3. 野指针 3.1 野指针成因 3.2 如何规避野指针 4. 指针运算 4.1 指针…...
win10在vmware15中安装macos10.13系统
第一步、安装vmware版本信息如下 第二步、下载unlocker-main和darwin.iso放到安装文件夹 第三步、管理员身份运行win-install.cmd 第四步、运行vmware新建虚拟机 第五步、启动新创建的虚拟机macOS 10.13并选择语言 第六步、选择磁盘工具抹掉磁盘 第七步、格式化完成后退出磁盘工…...
Node.js:实现遍历文件夹下所有文件
Node.js:实现遍历文件夹 代码如下 const fs require(fs) const path require(path)function traverseFolder(folderPath) {// 读取文件夹列表const files fs.readdirSync(folderPath)// 遍历文件夹列表files.forEach(function (fileName) {// 拼接当前文件路径…...
Git详解及使用
Git简介 Git 是一种分布式版本控制系统,它可以不受网络连接的限制,加上其它众多优点,目前已经成为程序开发人员做项目版本管理时的首选,非开发人员也可以用 Git 来做自己的文档版本管理工具。 大概是大二的时候开始接触和使用Gi…...
从PTPX报告反推:低频芯片Clock Tree功耗优化的3个关键决策点(含实验数据对比)
低频芯片Clock Tree功耗优化的3个关键决策点与量化分析 在28nm及以下工艺节点的芯片设计中,clock tree动态功耗占比往往超过总功耗的20%。某次流片后的PTPX报告显示,一个运行在200MHz的图像处理芯片中,clock network竟消耗了27.3%的动态功耗—…...
改进的Yolo11算法 有效张点创新点 引入FocalModulation特征金字塔实现精度的提高
Yolo11 引入【FocalModulation】特征金字塔的实现步骤一、【FocalModulation】特征金字塔概述1.1 【FocalModulation】特征金字塔介绍 【FocalModulation】结构简介 以下为【FocalModulation】特征金字塔的核心处理过程和优势: 处理过程:分层上下文化处理…...
从单点通信到批量处理:s7netplus如何优化西门子PLC数据传输性能
从单点通信到批量处理:s7netplus如何优化西门子PLC数据传输性能 【免费下载链接】s7netplus S7.NET -- A .NET library to connect to Siemens Step7 devices 项目地址: https://gitcode.com/gh_mirrors/s7/s7netplus 在工业自动化系统中,PLC&…...
存储文件操作
在 Kotlin 中操作文件的增删改查(CRUD)需要根据运行环境区分:**纯 JVM 环境**(如后端、桌面应用)直接使用 `java.io.File` 或 `java.nio.file`;**Android 环境**则需考虑分区存储、权限、MediaStore 等特性。本文将分两部分详细讲解,并提供完整的代码示例。 一、Kotlin…...
Janus-Pro-7B计算机视觉辅助:基于YOLOv8检测结果的智能报告生成
Janus-Pro-7B计算机视觉辅助:基于YOLOv8检测结果的智能报告生成 最近在做一个工业园区的智能巡检项目,客户提了个挺有意思的需求:他们希望摄像头不仅能“看见”设备异常,还能自动“说”出来。简单来说,就是系统识别到…...
【2026年最新600套毕设项目分享】微信小程序的电子商城购物平台(30032)
有需要的同学,源代码和配套文档领取,加文章最下方的名片哦 一、项目演示 项目演示视频 二、资料介绍 完整源代码(前后端源代码SQL脚本)配套文档(LWPPT开题报告/任务书)远程调试控屏包运行一键启动项目&…...
MySQL锁机制:从全局锁到行级锁的深度解读赡
如果有多个供应商,你也可以使用 [[CC-Switch]] 来可视化管理这些API key,以及claude code 的skills。 # 多平台安装指令 curl -fsSL https://claude.ai/install.sh | bash ## Claude Code 配置 GLM Coding Plan curl -O "https://cdn.bigmodel.cn/i…...
掌握Flipper插件生命周期:从加载到卸载的完整指南
掌握Flipper插件生命周期:从加载到卸载的完整指南 【免费下载链接】flipper A desktop debugging platform for mobile developers. 项目地址: https://gitcode.com/gh_mirrors/fli/flipper Flipper作为一款强大的移动开发者桌面调试平台,其插件系…...
GNSS-SDR终极指南:解锁软件定义GNSS接收器的5大核心功能
GNSS-SDR终极指南:解锁软件定义GNSS接收器的5大核心功能 【免费下载链接】gnss-sdr GNSS-SDR, an open-source software-defined GNSS receiver 项目地址: https://gitcode.com/gh_mirrors/gn/gnss-sdr GNSS-SDR是一款功能强大的开源软件定义GNSS接收器&…...
daily_stock_analysis镜像Prompt安全机制:防止幻觉输出与过度自信结论的约束
daily_stock_analysis镜像Prompt安全机制:防止幻觉输出与过度自信结论的约束 1. 引言:当AI成为你的私人股票分析师 想象一下,你有一个不知疲倦、知识渊博的股票分析师,随时待命。你只需要输入一个股票代码,无论是苹果…...
