【从入门到起飞】JavaSE—IO流(1)字节输入流字符输出流

news2024/12/24 2:31:28

🎊专栏【JavaSE】
🍔喜欢的诗句:天行健,君子以自强不息。
🎆音乐分享【如愿】
🎄欢迎并且感谢大家指出小吉的问题🥰

文章目录

  • 🌺概述
  • 🌺作用
  • 🌺分类
  • 🌺字节输出流的基本用法
    • 🛸FileOutputStream
      • 🏳️‍🌈一次写一个字节数据
      • 🏳️‍🌈一次写一个字节`数组`数据
      • 🏳️‍🌈一次写一个字节数组的`部分`数据
    • 🎄写入数据,并且换行显示
  • 🌺字节输入流的基本用法
    • 🛸FileInputStream
      • 🎈文件拷贝
        • 🎆一次读取一个字节
        • 🎆一次读取多个字节

I/O(Input/Output)流是指计算机中用于输入和输出操作的数据流。在计算机编程中,I/O 流通常用于从外部设备(如硬盘、网络、键盘、显示器等)读取数据或将数据写入到外部设备中。

I/O 流可以分为输入流和输出流两种类型。输入流用于从外部设备中读取数据,而输出流用于将数据写入到外部设备中。

在许多编程语言中,都有对应的 I/O 流处理类库或模块,用于简化对文件、网络、标准输入输出等进行读写操作。
在这里插入图片描述

🌺概述

存储和读取数据的解决方案
i:input o:output

🌺作用

用于读写数据(本地文件,网络)

🌺分类

按流的方向分类
在这里插入图片描述

输入流:程序 —> 文件
输出流:文件 —> 程序

按操作文件类型分类
在这里插入图片描述

什么是纯文本文件?
用Windows自带的记事本打开能读懂的文件

🌺字节输出流的基本用法

🛸FileOutputStream

操作本地文件的字节输出流,可以把程序中的数据写到本地文件中

🏳️‍🌈一次写一个字节数据

需求:把一段文字写到本地文件中
步骤:
	创建对象
	写出数据
	释放资源
-------------------------------------------------------
package IODemo1;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class Demo1 {
    public static void main(String[] args) throws IOException {
        //创建对象
        //指定文件路径:进入本项目--->IOPractice--->a.txt(文件)
        FileOutputStream fileOutputStream=new FileOutputStream("E:\\IdeaProjects\\IOPractice\\a.txt");
        //写出数据
        fileOutputStream.write(97);
        //释放资源
        fileOutputStream.close();

    }
}

🤖可能会报错,报错内容是 找不到相应的路径
在这里插入图片描述
⭐解决方法
补全路径即可
在这里插入图片描述

结果发现a.txt里面真的有内容
在这里插入图片描述

⭐注意
write方法的参数是整数,但是实际上写到本地文件中的是整数在ASCII上对应的字
每次用完流后都要释放资源

🏳️‍🌈一次写一个字节数组数据

在这里插入图片描述
在这里插入图片描述

🏳️‍🌈一次写一个字节数组的部分数据

在这里插入图片描述
在这里插入图片描述
从上面的例子中我们会发现,后面写入的数据会把前面写入的数据给覆盖掉,那么如何操作才能避免掉这种结果呢

🎄写入数据,并且换行显示

在这里插入图片描述
在这里插入图片描述

🌺字节输入流的基本用法

🛸FileInputStream

操作本地文件的字节输入流,可以把本地文件的数据读取到程序中

已知a.txt文件内容如下
在这里插入图片描述
进行读取
在这里插入图片描述
循环读入
在这里插入图片描述

🎈文件拷贝

🎆一次读取一个字节
public int read()

在这里插入图片描述

🎆一次读取多个字节

每次读取一个字节数组的数据,每次读取尽可能把数组装满

public int read(byte[] buffer)

在这里插入图片描述

如果大家对于这篇文章的知识点有疑问,欢迎在评论区进行讨论

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

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

相关文章

如何去开发一个springboot starter

如何去开发一个springboot starter 我们在平时用 Java 开发的时候,在 pom.xml 文件中引入一个依赖就可以很方便的使用了,但是你们知道这是如何实现的吗。 现在我们就来解决这一个问题! 创建 SpringBoot 项目 首先我们要做的就是把你想要给别…

Wireshark TS | 应用传输缓慢问题

问题背景 沿用之前文章的开头说明,应用传输慢是一种比较常见的问题,慢在哪,为什么慢,有时候光从网络数据包分析方面很难回答的一清二楚,毕竟不同的技术方向专业性太强,全栈大佬只能仰望,而我们…

【Spring篇】使用注解进行开发

🎊专栏【Spring】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【如愿】 🥰欢迎并且感谢大家指出小吉的问题 文章目录 🌺原代码(无注解)🎄加上注解⭐两个注…

20231117在ubuntu20.04下使用ZIP命令压缩文件夹

20231117在ubuntu20.04下使用ZIP命令压缩文件夹 2023/11/17 17:01 百度搜索:Ubuntu zip 压缩 https://blog.51cto.com/u_64214/7641253 Ubuntu压缩文件夹zip命令 原创 chenglei1208 2023-09-28 17:21:58博主文章分类:LINUX 小工具 文章标签命令行压缩包U…

打不开github网页解决方法

问题: 1、composer更新包总是失败 2、github打不开,访问不了 解决方法:下载一个Watt Toolkit工具,勾选上,一键加速就可以打开了。 下载步骤: 1、打开网址: Watt Toolkit 2、点击【下载wind…

Python (十一) 迭代器与生成器

迭代器 迭代器是访问集合元素的一种方式,可以记住遍历的位置的对象 迭代器有两个基本的方法:iter() 和 next() 字符串,列表或元组对象都可用于创建迭代器 字符串迭代 str1 Python str_iter iter(str1) print(next(str_iter)) print(next(st…

原型网络Prototypical Network的python代码逐行解释,新手小白也可学会!!-----系列2

文章目录 一、原始代码二、每一行代码的详细解释 一、原始代码 labels_trainData ,labels_testData load_data() wide labels_trainData[0][0].shape[0] length labels_trainData[0][0].shape[1] for label in labels_trainData.keys():labels_trainData[label] np.reshap…

FastJsonAPI

maven项目 pom.xml <dependencies><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>2.0.26</version></dependency><dependency><groupId>junit</groupId>&l…

vmware17 虚拟机拷贝、备份、复制使用

可以在虚拟机运行的情况下进行拷贝 查看新安装的虚拟机位置 跳转到上一级目录 复制虚拟机 复制虚拟机整个目录 删除lck文件&#xff0c;不然开机的时候会报错 用vmware 打开新复制的虚拟机 lck文件全部删除 点击开机 开机成功

软磁交流测试仪系统磁参量指标

1. 主要应用 2. 软磁交流测试仪磁参量指标 被测参数 最佳测量不确定度 ( k 2 ) 1 kHz 最佳测量重复性 主要动态磁特性参数 Ps 2.0% 1.0% μa 3.0% 1.0% Bm 1.0% 0.5% Hm 1.0% 0.5% δ 5.0% 1.5% 其他磁特性参数供参考 Br 2.0% 1.0% Hc 3.0% 1.0% μ…

振南技术干货集:比萨斜塔要倒了,倾斜传感器快来!(6)

注解目录 1、倾斜传感器的那些基础干货 1.1 典型应用场景 &#xff08;危楼、边坡、古建筑都是对倾斜敏感的。&#xff09; 1.2 倾斜传感器的原理 1.2.1 滚珠式倾斜开关 1.2.2 加速度式倾斜传感器 1)直接输出倾角 2)加速度计算倾角 3)倾角精度的提高 &#xff08;如果…

微积分在神经网络中的本质

calculus 在一个神经网络中我们通常将每一层的输出结果表示为&#xff1a; a [ l ] a^{[l]} a[l] 为了方便记录&#xff0c;将神经网络第一层记为&#xff1a; [ 1 ] [1] [1] 对应的计算记录为为&#xff1a; a [ l ] &#xff1a; 第 l 层 a [ j ] &#xff1a; 第 j 个神经…

How to import dgl-cu113 如何导入 dgl-cu113

参考这个 从How to import dgl-cu113 如何导入 dgl-cu113https://discuss.dgl.ai/t/how-to-import-dgl-cu113/3381https://discuss.dgl.ai/t/how-to-import-dgl-cu113/3381

vscode 推送本地新项目到gitee

一、gitee新建仓库 1、填好相关信息后点击创建 2、创建完成后复制 https&#xff0c;稍后要将本地项目与此关联 3、选择添加远程存储库 4、输入仓库地址&#xff0c;选择从URL添加远程存储仓库 5、输入仓库名称&#xff0c;确保仓库名一致

Redis:新的3种数据类型Bitmaps、HyperLoglog、Geographic

目录 Bitmaps简介常用命令bitmaps与set比较 HyperLoglog简介命令 Geographic简介命令 Bitmaps 简介 位操作字符串。 现代计算机使用二进制&#xff08;位&#xff09;作为信息的基本单位&#xff0c;1个字节等于8位&#xff0c;例如“abc”字符串是有3个字节组成&#xff0c…

开发一款回合制游戏,需要注意什么?

随着游戏行业的蓬勃发展&#xff0c;回合制游戏因其深度的策略性和令人着迷的游戏机制而受到玩家们的热烈欢迎。如果你计划投身回合制游戏的开发领域&#xff0c;本文将为你提供一份详细的指南&#xff0c;从游戏设计到发布&#xff0c;助你成功打造一款引人入胜的游戏。 1. 游…

记一次用jlink调试正常,不进入调试就不能运行的情况

一、概述 我开机会闪烁所有指示灯&#xff0c;但是重新上电时&#xff0c;指示灯并没有闪烁&#xff0c;就像"卡死"了一样。 使用jlink的swd接口进行调试&#xff0c;需要多点几次运行才能跳转到main函数里面。 调试模式第一次点击运行&#xff0c;暂停查看函数堆栈…

开源与闭源:创新与安全的平衡

目录 一、开源和闭源的优劣势比较 一、开源软件的优劣势 优势 劣势 二、闭源软件的优劣势 优势 劣势 二、开源和闭源对大模型技术发展的影响 一、机器学习领域 二、自然语言处理领域 三、数据共享、算法创新与业务拓展的差异 三、开源与闭源的商业模式比较 一、盈…

【项目管理】PMO技能树21项参照

导读&#xff1a;PMO技能树让你能够有全局视野&#xff0c;让你对照着检查自己的能力是否掌握。技能树提供了构建个人知识体系参照和地图导航&#xff0c;不至于迷失方向。 目录 1、PMO层次概览 2、技能树 2.1 项目管理流程 2.2 项目组合管理 2.3 风险管理 2.4 项目资源管…