IO(2)----字节输出流OutputStream

本文详细探讨了Java中的字节输出流OutputStream,包括其基本概念、使用场景和常见子类,如FileOutputStream、BufferedOutputStream等。通过实例代码解析了如何进行文件输出、网络数据传输等操作,帮助读者掌握OutputStream在数据写入过程中的核心功能。
摘要由CSDN通过智能技术生成

一、输入输出的概念                                                                                                                         点击此处返回总目录

二、字节输出流OutputStream

三、FileOutputStream

四、IO中的异常处理

 

一、输入输出的概念

前面讲了如何操作文件和目录。从现在开始讲如何往文件中写数据读数据。

首先要搞明白什么叫做Input,什么叫做Output。

Input、Output是对于程序来说的。读取文件中的数据叫做输入,把数据写到文件中叫做输出。

Input   :输入  从文件(硬盘)------->程序(内存)

Output:输出  从程序(内存)------->文件(硬盘)

 

进行文件内容的操作需要通过Java中提供的两组数据流的操作类完成:

字节操作流:OutputStream、InputStream

字符操作流:Writer、Reader

 

流对象学习技巧:

       流对象都是相辅相成的:有输入必有输出,有输出必有输入;输出能输出什么,输入就能输入什么。所以学会了一个方向,另一个方向完全能够明白。

 

流对象的使用步骤:

1. 创建流的子类对象,绑定数据目的或数据源

2. 调用流对象的方法

3. close()

 

二、字节输出流OutputStream

java.io.OutputStream是抽象类,是所有字节输出流的父类。作用是从java程序写出到文件。

OutputStream每次只操作文件中的1个字节。

字节输出流可以写任意文件。

 

常用方法:

这个类的方法都是写文件的一下方法,一共也没几个。所有的子类都得具有这些方法。

1. write(int b)                                   //写入1个字节。int型可以砍掉3个字节变为byte。要写入的字节是参数b的八个低位。

                                  b的 24 个高位将被忽略。【例1】【例2】【例3】

2. write(byte[] b)                              //写入字节数组。【例4】【例5】。写入字符数组的简便方式:【例6】

3. write(byte[] b , int off , int len)      //将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此输出流。【例7】

4. close()                                         //关闭流对象,并且释放与此流相关的资源。java当中的流对象,在操作文件的时候,自己并不                                                                做,而是使用的操作系统的功能,当流用完了,系统资源必须要释放掉。如果不close(),文件

                                                        想删都删不了。

 

因为是抽象类,所以要通过子类对象来学习父类的方法。OutputStream类的常用子类有ByteArrayOutputStream(字节数组输出流,这个流可以写字节数组)、FileOutputStream(这个流用于写文件)、FilterOutputStream(跟过滤器有关系)、ObjectOutputStream(这个用来写对象)、OutputStream(其他包中的一个流,跟我们没什么关系)、PipeOutputStream(管道流)等。

 

三、FileOutputStream

 

1)构造方法

作用:绑定输出的输出目的。

1. FileOutputStream(File file)                      //参数为File类型的对象。当原先有文件时,会覆盖掉(先删除原来的,再创建新的)

2. FileOutputStream(String name)                         //参数为String类型的对象。覆盖方式。

3. FileOutputStream(File file,boolean append)            //当append为true时,会追加写,不再覆盖。【例8】

4. FileOutputStream(String name,boolean append)    //String,追加方式。

 

注:

1.当文件不存在时,构造方法会先创建文件。

2.当原先有文件时,会覆盖掉(先删除原来的,再创建新的)。

 

2)继承过来的方法:

例1:write(int b)

package cn.itcast.demo01;

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值