当前位置: 首页 > news >正文

重学java 61.IO流 ② 字节输出流

夜色难免黑凉,前行必有曙光

                                     —— 24.6.4

一、I0流介绍以及输入输出以及流向的介绍

1.单词:

        output:输出        Input:输入        write:写数据        read:读数据

2.IO流:

        将一个设备上的数据传输到另外一个设备上,称之为IO流技术

3.为什么要学IO流?

        之前学了一个集合以及数组,可以保存数据,但是这两个都是临时存储(代码运行完毕,集合和数组会从内存中消失,从而数据就不存在了),所以集合和数组达不到永久保存的目的,我们希望咱们的数据永久保存起来,所以我们就可以将数据保存到硬盘上,此时我们就可以随时想拿到硬盘上的数据就随时拿

        而且我们将来传输数据,必然要用到输入,输出动作

二、IO流的流向 针对se阶段的IO

        输出流:Output

                内存 —> 硬盘        输出流:从内存出发,将数据写到硬盘上

        输入流:Input

                硬盘 —> 内存        输入流:将数据从硬盘上读到内存中

        要是从电脑间进行数据传输,就是相对的,发数据的一方就是输出流,收数据的乙方就是输入流

三、IO流的分类

        字节流

                万能流、一切皆字节

                分为:字节输出流和字节输入流

                字节输出流:OutputStream 抽象类

                字节输入流:InputStream 抽象类

        字符流

                专门操作文本文档

                        字符输出流:Writer 抽象类

                        字符输入流:Reader 抽象类

四、字节输出流

1.概述:

        字节输出流,Outputstream 是一个抽象类

                子类:Fileoutputstream

2.作用:往硬盘上写数据

3.构造:

        Fileoutputstream(File file)

        Fileoutputstream(String name)]

4.特点:

        a.指定的文件如果没有,输出流会自动创建

        b.每执行一次,默认都会创建一个新的文件,覆盖老文件

5.方法:

        void write(int b) —> 一次写一个字节
        void write(byte[] b) —> 一次写一个字节数组

        void write(bytel] b, int off, int len) —> 一次写一个字节数组一部分
                b:写的数组

                off:从数组的哪个索引开始写

                len:写多少个

        void close() —> 关闭资源

字节流的续写追加:

        Fileoutputstream(string name, boolean append)

                append:true —> 续写追加,文件不覆盖

import java.io.FileOutputStream;
import java.io.IOException;public class Demo266FileOutputStream {public static void main(String[] args) throws IOException {method01();method02();method03();method04();method05();}// Fileoutputstream(String name)]private static void method01() throws IOException{// Fileoutputstream(File file) 每次执行新的文件都会覆盖老文件FileOutputStream fos = new FileOutputStream("AllWillBest_Java\\1.txt");// void write(int b) —> 一次写一个字节fos.write(97);// void close() —> 关闭资源fos.close();}private static void method02() throws IOException{// void write(byte[] b) —> 一次写一个字节数组FileOutputStream fos = new FileOutputStream("AllWillBest_Java\\1.txt");byte[] buf = {97,98,99,100,101,102,103,104,105};fos.write(buf);// void close() —> 关闭资源fos.close();}private static void method03() throws IOException{// void write(bytel] b, int off, int len) —> 一次写一个字节数组一部分// b:写的数组// off:从数组的哪个索引开始写// len:写多少个FileOutputStream fos = new FileOutputStream("AllWillBest_Java\\1.txt");byte[] buf = {97,98,99,100,101,102,103,104,105};fos.write(buf,3,5);fos.close();}private static void method04() throws IOException{FileOutputStream fos = new FileOutputStream("AllWillBest_Java\\1.txt");byte[] bytes = "一切都会好的\n".getBytes();fos.write(bytes);fos.close();}private static void method05() throws IOException{// Fileoutputstream(string name, boolean append)// append:true —> 续写追加,文件不覆盖FileOutputStream fos = new FileOutputStream("AllWillBest_Java\\1.txt",true);fos.write(" 我一直相信\n".getBytes());fos.write(" 越来越好\n".getBytes());fos.close();}
}

相关文章:

  • 【面试宝藏】Redis 常见面试题解析
  • 如何通过PHP语言实现远程控制多路照明
  • 利用BeanFactoryPostProcessor让Bean提前被创建
  • 汽车IVI中控开发入门及进阶(二十四):杰发科技AC8015
  • 高通Android 12/13实现USB拔出关机功能
  • 了解CSS中的link和@import引入CSS的区别
  • Linux搭建PHP下的RabbitMQ环境(php-amqp/rabbitmq-c/erlang)
  • 如何管理和维护组件库?
  • WPF实现简单的3D图形
  • Android ViewPager和ViewPager2的区别
  • jenkins插件之plot
  • TypeScript 在前端开发中的应用
  • 品牌舆情监测系统是什么?怎么监测?
  • Hbase 面试题(七)
  • PDF编辑流程,另附5款好用的PDF编辑器
  • C++类的相互关联
  • co模块的前端实现
  • go append函数以及写入
  • Idea+maven+scala构建包并在spark on yarn 运行
  • isset在php5.6-和php7.0+的一些差异
  • javascript 总结(常用工具类的封装)
  • JavaScript设计模式系列一:工厂模式
  • Python_OOP
  • Python打包系统简单入门
  • Python十分钟制作属于你自己的个性logo
  • spark本地环境的搭建到运行第一个spark程序
  • tensorflow学习笔记3——MNIST应用篇
  • unity如何实现一个固定宽度的orthagraphic相机
  • 爱情 北京女病人
  • 创建一种深思熟虑的文化
  • 当SetTimeout遇到了字符串
  • 老板让我十分钟上手nx-admin
  • 你不可错过的前端面试题(一)
  • 漂亮刷新控件-iOS
  • 前端学习笔记之观察者模式
  • 用Python写一份独特的元宵节祝福
  • ​2020 年大前端技术趋势解读
  • ​ArcGIS Pro 如何批量删除字段
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • #Linux(权限管理)
  • #pragma pack(1)
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (二)Kafka离线安装 - Zookeeper下载及安装
  • (二)丶RabbitMQ的六大核心
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (九)One-Wire总线-DS18B20
  • (源码分析)springsecurity认证授权
  • (转)Linux整合apache和tomcat构建Web服务器
  • (转)甲方乙方——赵民谈找工作
  • *** 2003
  • ***利用Ms05002溢出找“肉鸡
  • .Net - 类的介绍