java中I/O流之字节流和字符流学习总结(上)

一、基本内容

如果要进行文件内容的操作那么必须依靠数据流完成,而数据流分为两种:

字节流:InputStream(字节输入流)、OutputStream&#javax移动开发者人数最多的年龄段是ff08;字节输出流);

字符流:Reader(字符输入流)、W移动开发主要学什么riter(字符输出流);

字节流理解配图

java中I/O流之字节流和字符流学习总结(上)

字符流理解配图

java中I/O流之字节流和字符流学习总结(上)

字节流与字符流操作的本质区别只有一个:字节流是原生的操作,而字符流是经过处理后的操作。

在进行网络数据传输、磁盘数据保存所保存所支持的数据类型只有:字节。

而所有磁盘中的数据必须先读取到内存后才能进行操作,而内存中会帮助数据库管理系统我们把字java模拟器节变数据库系统的核心是为字符。数据库原理及应用字符更加适合处理中文。

不管使用的是字节流还是字符流,其基本的操作流程几乎是一样的数据库管理系统,以文件操作为例。 创建File类对象移动开发主要学什么 ,主要是指明要操作的文件路径数据库系统的核心是f1b;

1.根据字节流或字符流的子类实例化父类对象 ;

2.进行数据的读取或写入操作;

3.关闭流(数据库原理及应用close());移动开发主要学什么

4.对于IO操作属于资源处理数据库管理系统f0c;所有的资源处理操作(IO操作、数据库操作、网络)数据库查询语句最后必javascript百炼成仙须要进行关闭。

数据库查询语句、字节输出流:(OutputStream)(重点)

字节输出流主要以操作byte数据为主,观察java.io.OutputStream类的定义结构:

 字节输出流主要以操作byte数据为主,观察java.io.OutputStream类的定义结构:

 public abstract class数据库是什么 OutputStream implements Closeajava模拟器ble, Flushable

OutputStream类实现了Closeable,Flushable两个接口,java;这两个接口中移动开发主要学什么的方法:

 1. Closeable数据库原理及应用: public void close(移动开发者人数最多的年龄段是) throws IOException;

 2. Flushable: public void flusjavascripth(移动开发者人数最多的年龄段是) throws IOException;

java中I/O流之字节流和字符流学习总结(上)

OutputStream类定义有三个重要移动开发者人数最多的年龄段是的输出操作方法:

将给定的字节数据库系统概论第五版课后答案数组内容全部输出:public voi数据库系统概论第五版课后答案d write(byte b[]) throws IOExceptijavascripton

将部分字节数组内容输出:public void write(byte b[], int off, int len) throws IOException(重点)

输出单个字节:public abstract void write(int b) throws IO数据库Excejava语言ption

OutputStream是一个抽象类&java培训#xff0c;按照抽象类的基本原则来讲,如果想要取得OutputStream类的实例化对象那么一定需要子类,如果要进行文件的操作ÿjava模拟器0c;可以使用FileOutputStream类来处理,

这个类的构造方法如下:

接收File类(覆盖javascript):public FileOutputStream(File file) throws FileNotFoundException

接收File类(追加)ÿjava编译器1a;publi安卓移动开发c FileOutputStream(File file, boolean append)

范例:实现文件的输出

package lisy;
import java.awt.print.Printable;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.sql.Date;
import java.text.SimpleDateFormat;
public class Demo {
    public static void main(String[] args) throws IOException {
        //第一步:定义要输出的文件的File类对象
        File file = new File("e:"+File.separator+"hello"+File.separator+"my.txt");
        //输出信息的时候文件可以不存在,但是目录必须存在
        if(!file.getParentFile().exists()) {//父路径不存在
            file.getParentFile().mkdirs();//创建父路径
        }
        //第二步:利用OutputStream的子类为父类进行实例化
        OutputStream output = new FileOutputStream(file);
        //第三步:输出文字信息
        String msg = "富则达济天下,穷则独善其身";//字符串
        //为了方便输出需要将字符串变为字节数组
        byte data[] = msg.getBytes();//变为字节数组
        output.write(data);//输出数据
        output.close();//关闭流
    }
}

输出文件的部分内容 (一个字符两个字节)

output.write(data,0,10);//输出部分数据

使用循环方式进行单个字节的信息移动开发票输出

for(int x = 0;x < data.length; x++) {
        output.write(data[x]);//单个字节输出数据
        }

我们可以发现java语言f0c;每次执行完成之后所有的内容都被覆盖了java培训。所以也可以进行数据的追加操作

范例:追加数据

OutputStream output = new FileOutputStream(file,true);//此处为追加操作

如果想要进行换行操作&#javascript百炼成仙xff0c;则可以使用“\r\n”示。

//第三步:输出文字信息
        String msg = "富则达济天下,穷则独善其身。。。\r\n";//字符串