Java-IO流之字节输出流(上篇)

由于IO流的内容较多,所以这一块的内容会分为上中下,今天主要编写上篇


一、IO流概述

学习IO流时,我们需要先搞清楚内存和硬盘的简单概念

专有名词介绍
内存临时存储数据
硬盘永久存储数据
Iinput 输入(读取)
Ooutput 输出 (写入)
数据(字符、字节)

二、IO流图解

在这里插入图片描述


三、IO流分类

IO流分为字节类以及字符流,这两种流又分为输入流以及输出流

\输入流输出流
字节流字节输入流 InputStream字节输出流 OutputStream
字符流字符输入流 Reader字符输出流 Writer

四、字节流

1、简介

不管是文档还是图片等,一切皆为字节

2、OutputStream 字节输出流

、该类是抽象类,无法创建对象,需要使用到它的子类
、提供了多种方法,子类可以调用

方法一: public void close()  : 关闭此输出流并释放与此流相关联的任何系统资源
方法二: public void flush()  : 刷新此输出流并强制任何缓冲的输出字节被写出
方法三: public void write(byte[] b) : 将b.length字节从指定字节数组写入此输出流
方法四: public void write(byte[] b,int off ,int len) : 从指定字节数组中写入len长的字节,从off开始
方法五: public abstract void write(int b): 将指定的字节输出流

  2.1、注意

、使用write方法传入一个参数,如果参数ASCII码在0-127之间则使用ASCII中的内容,其他值查询系统默认码表(中文系统GBK)

、如果要在文件中打印出来100这个数字,需要写入三个字节,1:49 、0:48、0:48

、如果第一个字节为正数(0-127),则会在ASCII表中查询并输出
如果第一个字节为负数,则第一个字节会和第二个字节组成一个中文显示,查询系统默认码表

  2.2、代码演示

1、通过数组的形式一次写多个字节


byte[] b = {65,66,67,68,69};
try {
FileOutputStream fos = new FileOutputStream("E:\\notepad_java\\a.txt");
		fos.write(b);
   } catch (FileNotFoundException e) {
        e.printStackTrace();
   } catch (IOException e) {
        e.printStackTrace();
   }

文档中的内容:ABCDE

2、写入字符的方法

byte[] b1 = "嗨".getBytes();
try {
  FileOutputStream fos1 = new FileOutputStream("E:\\notepad_java\\a.txt");
  fos1.write(b1);
} catch (FileNotFoundException e) {
   e.printStackTrace();
} catch (IOException e) {
   e.printStackTrace();
}

文档中的内容:嗨

2.3、FileOutputStream子类

2.3.1、简介

文件字节输出流
把内存中的数据写到硬盘中的文件中

2.3.2、构造函数

FileOutputStream (String name) : 目的地是一个文件的路径
FileOutputStreamFile file):目的地是一个文件

2.3.3、构造函数的作用

1、创建一个FileOutputStream对象
2、会根据构造方法中传递的文件/文件路径,创建一个空的文件
3、会把FileOutputStream对象指向创建好的文件

2.3.4、使用步骤

1、创建FileOutputStream对象,构造方法中写入数据的目的地
2、调用对象中的write()方法,将数据写入到文件中
3、调用close()方法释放资源

这里只有很小的一部分知识点,可以蹲一蹲,中篇和下篇会在明后两天出的~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值