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

🎊专栏【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.hqwc.cn/news/190747.html

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

相关文章

持续集成交付CICD:Jenkins通过API触发流水线

目录 一、理论 1.HTTP请求 2.调用接口的方法 3.HTTP常见错误码 二、实验 1.Jenkins通过API触发流水线 三、问题 1.如何拿到上一次jenkinsfile文件进行自动触发流水线 一、理论 1.HTTP请求 (1)概念 HTTP超文本传输协议,是确保服务器…

【PTA题目】6-13 求叠数(递归版) 分数 10

6-13 求叠数(递归版) 分数 10 全屏浏览题目 切换布局 作者 李祥 单位 湖北经济学院 请编写递归函数,生成叠数。 例如:Redup(5,8)88888 函数原型 long long Redup(int n, int d); 说明:参数 n 为重复次数(非负整数),d 为数字…

【Linux系统编程十九】:(进程通信)--匿名管道/模拟实现进程池

【Linux系统编程十九】:匿名管道原理/模拟实现进程池 一.进程通信理解二.通信实现原理三.系统接口四.五大特性与四种情况五.应用场景--进程池 一.进程通信理解 什么是通信? 通信其实就是一个进程想把数据给另一个进程,但因为进程具有独立性…

第十一周任务总结

本周任务总结 本周物联网方面主要继续进行网关的二次开发与规则引擎实现设备联动的实现 非物联网方面主要复习了docker的使用与算法的学习 1.网关的二次开发,本周将实现debug调试输出的文件下载到了网关,但网关出了问题无法连接,最终跟客服…

简单算法——回溯、贪心、动态规划

回溯法 回溯法深度优先剪枝,实质就是用递归代替for循环。 仍然是一种暴力遍历的手段,通常与递归配合使用,用于解决单纯for循环无法处理的问题,比如组合、切割、子集、排列等问题——比如求n个数里的长度为k的组合,需要…

《循环双向链表》(带哨兵位的头节点)

目录 ​编辑 前言: 关于双向循环带头链表: 模拟实现双向循环带头链表: 1.typedef数据类型 2.打印链表 3.初始化链表: 4.创建节点 5.尾插 6.头插 7.尾删 8.头删 9.寻找节点 10.在节点前插入 11.删除指定节点 单链表和双链表的区别…

c语言免杀火绒

文章目录 前记c加载器补充知识 前记 pyinstaller pyinstaller目前已经被杀疯了,简单打包一个hello a"hello" print(a)#pyinstaller -F -w b.py -n HipsMain.exe考虑Nuitka pip uninstall nuitka pip install nuitka pip install nuitka1.8.5 这里最新…

Python使用大连理工情感本体提取文本的情感倾向

import pandas as pd # 导入词典 df pd.read_excel(Sentiment_dictionary\大连理工情感词汇本体\情感词汇本体.xlsx) # 我们暂时只使用 [词语,词性种类,词义数,词义序号,情感分类,强度,极性] df df[[词语, 词性种类, 词义数, 词义序号, 情感分类, 强度, 极性]] df.head()# 按…

scss的高级用法——循环

周末愉快呀!一起来学一点简单但非常有用的css小知识。 最近在一个项目中看到以下css class写法: 了解过tailwind css或者unocss的都知道,从命名就可以看出有以下样式: font-size: 30pxmargin-left: 5px;margin-top: 10px; 于是…

【字符编码系列一】ASCII编码是什么?

介绍 ASCII 编码于 1967 年第一次发布,最后一次更新是在 1986 年,迄今为止共收录了 128 个字符,包含了基本的拉丁字母(英文字母)、阿拉伯数字(也就是 1234567890)、标点符号(,.!等&…

Java Fasn 带您谈谈——开源、闭源

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 ✨特色专栏&#xff1a…

【全网首发】2023年NOIP真题

目录 前言 真题 结尾 前言 NOIP题目了解一下,后续有可能会出讲解,题目全部来自于洛谷 真题 第一题:词典 第二题:三值逻辑 第三题:双序列扩展 第四题: 天天爱打卡 结尾 大家可以把你的预期分数打在评论…