java基础-IO(1)

1、从计算机的存储说起

电脑电脑,有电才能发挥出“脑”的作用,没电就是破铜烂铁一堆,根据电的特性(高低电平)巧妙的使用0、1组合,记住了万事万物,才得以让"破铜烂铁"发挥出神奇的功效。 所以计算机最底层就是0、1(二进制)也称为比特位(bit)。计算机在处理数据的时候不是按照单个0、1进行处理的(处理起来太慢并且单个比特位表示的信息范围有限),因此在处理数据的时候采用处理一组比特位,也称为字节(B/byte),1B = 8bit。
所有的字符又由字节组成,根据不同的编码规则,同一个字符可能使用不同数量的字节表示。
在这里插入图片描述
综上所述:虽然计算机最底层使用的是比特位存储信息,但是计算机在处理数据都是以字节为单位进行处理,所以可以认为“字节的不同组合”能表示一切信息。

2、I、O

何为I/O ?
I: input 输入
O: output :输出
这个输入、输出是相对谁而言 ?
如:小明借了小华100元,小华又借了小方50元。那么可以说,相对小明,小华是出借人,小明是借款人。相对小方小华是借款人,所以总要有个"参考物")

所谓输入和输出是针对内存而言,进入内存:输入;从内存出去:输出。

3、I/O具体分类

字节是给计算机看的(计算机操作都以字节为单位);字符是给人看的。
因此将I/O分为两类:字节流和字符流。再相对内存而言,又具体分为字节输入流和字节输出流;字符输入流和字符输出流。
在这里插入图片描述在这里插入图片描述

4、java中IO相关类

摘自网络
InputStream: 字节输入流的超类:
常见方法汇总:

方法名称说明
read()返回当前读取的字节值(0-255) ,没有返回-1(为何是0~255 java中byte占用1字节)
read(byte b[])同上
read(byte b[], int off, int len)同上
mark(int readlimit)标记位置(比较抽象,看具体实现)
reset()退回到标记位置,与变量mark有关
skip(long n)跳过n个字节
close()关闭流、释放资源

InputStream: 字节输出流的超类:
常见方法汇总:

方法名称说明
write(int b))写出单个字节
write(byte b[])写出字节数组
write(byte b[], int off, int len)写出字节数组中的某些部分,自定义开始位置,写出长度
flush()强制写出任何缓存的字节数据
close()关闭流、释放资源

Reader: 字符输入流的超类:
常见方法汇总:

方法名称说明
read()读取单个字符,字符集编码中最长使用4字节表示一个字符,
所以返回值介于0x00-0xffff;使用int接收即可
read(char cbuf[])
read(char cbuf[], int off, int len)
mark(int readAheadLimit)指定位置做标记
reset()退回到标记位
skip(long n)读取时跳过n个字符
close()关闭流、释放资源

Writer:字符输出流的超类:
常见方法汇总:

方法名称说明
write(int c)写出单个字符
write(String str)写出字符串
write(String str, int off, int len)~
write(char cbuf[])~
write(char cbuf[], int off, int len)~
close()~
flush()~
append(char c)追加指定的字符
append(CharSequence csq)~
append(CharSequence csq, int start, int end)~

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

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

相关文章

为什么我选择这款PR剪辑软件?打工人亲测好用!

现在大家都爱看短视频和Vlog,要是你会剪辑视频,那可就牛了。不管是出去玩拍的视频,还是工作需要,都能派上用场。我就是个爱旅行、爱剪辑的发烧友,今天给你们推荐三款特别好用的视频剪辑软件,尤其是PR剪辑&a…

C语言 | Leetcode C语言题解之第386题字典序排数

题目&#xff1a; 题解&#xff1a; int* lexicalOrder(int n, int* returnSize){int *ret (int *)malloc(sizeof(int) * n);int number 1;for (int i 0; i < n; i) {ret[i] number;if (number * 10 < n) {number * 10;} else {while (number % 10 9 || number 1 …

解读三国历史中的配角们:探索未被书写的故事 - 《三国配角演义》读后感

在传统的三国叙事中&#xff0c;英雄主角们的事迹往往被无限放大&#xff0c;而那些默默无闻的小人物则被忽视。然而&#xff0c;《三国配角演义》通过挖掘历史细节&#xff0c;赋予这些小角色新的生命。书中用微小的史料合理推断&#xff0c;构建了他们不为人知的精彩故事。 …

C语言进阶版第8课—指针(2)

文章目录 1. 数组名的理解2. 指针访问数组3. 一维数组传参本质4. 冒泡排序5. 二级指针6. 指针数组7. 指针数组模拟二维数组 1. 数组名的理解 sizeof&#xff08;数组名&#xff09;— 这里的数组名代表整个数组&#xff0c;计算的也是整个数组的大小&数组名 — 这里的数组名…

使用 ELK Stack 进行云原生日志记录和监控:AWS 中的开发运营方法

使用 ELK Stack 进行云原生日志记录和监控 欢迎来到雲闪世界。在当今的云原生世界中&#xff0c;日志记录和监控是强大的 DevOps 策略的重要组成部分。监控应用程序性能、跟踪错误和分析日志对于确保无缝操作和主动识别潜在问题至关重要。在本文中&#xff0c;我们将指导您使用…

Vue——Diff算法

目录 什么是Diff算法&#xff1f; 比较方式 1. 同层比较 2. 双端比较 双端比较的步骤&#xff1a; 3. 通过 key 来优化比较 原理分析 1. 虚拟 DOM 和真实 DOM 2. Diff 算法的基本原理 3. 双端比较优化 4. 通过 key 进行优化 5. 具体操作 6. 原理总结 声明&#xf…

AWS SES服务 Golang接入教程(排坑版)

因为刚来看的时候 也迷迷糊糊的 所以 先讲概念 再上代码 一 基础设置 这里需要完成两个最基础的设置任务 1 是验证至少一个收件电子邮箱 2 【很关键】是验证发送域。即身份里的域类型的身份。&#xff08;可以理解为配置你的域名邮箱服务器&#xff08;SMPT&#xff09;为亚马…

Flink问题记录

尚硅谷Flink1.17问题记录 上手pom依赖循环递归WordCountStreamDemo中readTextFile是deprecated&#xff08;强烈反对的&#xff09;Flink本地模式开启WebUI 上手 pom依赖循环递归 pom依赖中&#xff1a; <dependency><groupId>org.apache.flink</groupId>&…

前端开发中遇到的小问题以及解决方案记录2

1、H5中适配屏幕的工具-postcss-px-to-viewport postcss-px-to-viewport。因为设计稿一般给的都是375px宽度的&#xff0c;所以假如一个字体是16px&#xff0c;那么在开发中不能直接写死为16px&#xff0c;因为各个厂商的手机屏幕大小是不同的&#xff0c;所以要根据屏幕大小去…

【人工智能学习笔记】1_人工智能基础

本系列是个人学习《阿里云人工智能工程师ACA认证免费课程&#xff08;2023版&#xff09;》的笔记&#xff0c;仅为个人学习记录&#xff0c;欢迎交流&#xff0c;感谢批评指正 人工智能概述 智能的三大能力&#xff1a;感知、记忆与思维、学习与适应能力人工智能的定义 明斯基…

正规表达式例题

解析&#xff1a;从题意可知&#xff0c;a可以有零个或多个&#xff0c;b有1个或多个 选项A&#xff1a;这里a至少有1个&#xff0c;不符合题意 选项B&#xff1a;a^*bb^*&#xff0c;a是0个或多个&#xff0c;b可以是1个或多个&#xff0c;符合题意 选项C和选项D&#xff0…

Camunda调用子流程案例

调用子流程 调用子流程是指子流程在主流程的外面。子流程一般是多个流程可重用的流程&#xff0c;也可以独立调用子流程。 可以对比编程中的方法抽取。子流程运行时&#xff0c;主流程也是等待状态。子流程结束&#xff0c;主流程继续。 立即体验&#xff0c;请访问JeecgFlow …

AWTK HTML View 控件更新

AWTK HTML View 控件基于 Lite HTML 实现&#xff0c;从最初的版本开始&#xff0c;3 年多过去了&#xff0c;Lite HTML 做了大量的更新&#xff0c;最近抽空将 AWTK HTML View 控件适配到最新版本的 Lite HTML&#xff0c;欢迎大家使用。 AWTK HTML View 控件。HTML View 控件…

玩转Python Turtle库,实现满屏飘字的魔法!

前言 本文将教你如何使用Python的Turtle库&#xff0c;通过简单的编程实现满屏飘字的炫酷效果。无需复杂的编程知识&#xff0c;跟着我们的步骤&#xff0c;你也可以成为编程小达人&#xff01; 效果展示 开发过程 一、准备工作 首先&#xff0c;确保你的电脑上已经安装了Py…

12. GIS地图制图工程师岗位职责、技术要求和常见面试题

本系列文章目录&#xff1a; 1. GIS开发工程师岗位职责、技术要求和常见面试题 2. GIS数据工程师岗位职责、技术要求和常见面试题 3. GIS后端工程师岗位职责、技术要求和常见面试题 4. GIS前端工程师岗位职责、技术要求和常见面试题 5. GIS工程师岗位职责、技术要求和常见面试…

2. GIS数据工程师岗位职责、技术要求和常见面试题

本系列文章目录&#xff1a; 1. GIS开发工程师岗位职责、技术要求和常见面试题 2. GIS数据工程师岗位职责、技术要求和常见面试题 3. GIS后端工程师岗位职责、技术要求和常见面试题 4. GIS前端工程师岗位职责、技术要求和常见面试题 5. GIS工程师岗位职责、技术要求和常见面试…

COD论文笔记 BiRefNet

本质还是一个 U 型编码器解码器结构的分割模型。 我可以考虑将©和(d)结合&#xff0c;即对解码器的输入不进行 patchify,同时在各个阶段引入梯度参考信息 最近的相关工作&#xff0c;中间监督、额外先验(频率&#xff0c;梯度&#xff0c;边缘等)取得不错效果 作者观察到…

Post-Training有多重要?一文带你了解全部细节

1. 简介 随着LLM学界和工业界日新月异的发展&#xff0c;不仅预训练所用的算力和数据正在疯狂内卷&#xff0c;后训练&#xff08;post-training&#xff09;的对齐和微调方法也在不断更新。InstructGPT、WebGPT等较早发布的模型使用标准RLHF方法&#xff0c;其中的数据管理风…

高效实用的网站ICP备案查询接口

随着互联网的日益发展&#xff0c;对于网站的监管变得越来越重要。为了更好地管理和监督互联网上的网站&#xff0c;官方要求所有在中国境内的网站都需要进行ICP备案。因此&#xff0c;ICP备案不仅是法律要求&#xff0c;也是衡量一个网站是否正规的重要标志之一。为了便于开发…

【Redis】Redis 集群搭建与管理: 原理、实现与操作

目录 集群 (Cluster)基本概念数据分片算法哈希求余⼀致性哈希算法哈希槽分区算法 (Redis 使⽤) 集群搭建 (基于 docker)第⼀步: 创建⽬录和配置第⼆步: 编写 docker-compose.yml第三步: 启动容器第四步: 构建集群 主节点宕机演⽰效果处理流程1)故障判定2)故障迁移 集群扩容第⼀…