Java入门教程-IO流概述

发布时间 2018年09月25日 14:02    编辑:landyliao    来源:叩丁狼教育stef 资讯 » 美容

1.1. IO流概述(了解)1.1.1. IO概述(了解)

什么是IO,Input和Output,即输入和输出。

电脑相关的IO设备:和电脑通讯的设备,此刻要站在电脑的视点,把信息传递给电脑叫输入设备,把电脑信息传递出来的叫输出设备。

输入设备:麦克风、扫描器、键盘、鼠标等

输出设备:显现器、打印机、投影仪、耳机、音响等

为什么程序需求IO呢?

事例1:打游戏操作,需求存储游戏的信息。此刻需求把游戏中的数据存储起来,数据只能存储在文件中。

事例2:打游戏操作,需求读取之前游戏的记载信息,数据存储在一个文件中的。此刻游戏程序需求去读取文件中的数据,并显现在游戏中。

IO操作是一个相对的进程,一般的,咱们在程序视点来考虑(程序的内存)。

程序需求读取数据:文件——>程序,输入操作

程序需求保存数据:程序——>文件,输出操作

1.1.2. IO操作示意图(了解)

解说IO知识点的时分,习气和日子中的水流联系起来,一同来看看复古的水井和水缸。

此刻站在水缸的视点,剖析IO的操作方向:

输入操作:水井——>水缸

输出操作:水缸——>饭锅

留意:谁具有数据,谁就是源,把数据流到哪里,哪里就是方针。那么,请问水缸是源仍是方针。1.1.3. 流的分类(把握)

依据流的不同特性,流的区分是不一样的,一般依照如下状况来考虑:

按活动方向:分为输入流和输出流

按数据传输单位:分为字节省和字符流,即每次传递一个字节(byte)或一个字符(char)

按功用上区分:分为节点流和处理流,节点流功用单一,处理流功用更强

流的流向是相对的,咱们一般站在程序的视点:

程序需求数据 → 把数据读进来 →输入操作(read):读进来

程序保存数据 → 把数据写出去 → 输出操作(write):写出去

六字告诫:读进来,写出去(细心揣摩这六个字有什么深邃的意义)1.1.4. 四大基流

操作IO流的模板:

1):创立源或许方针方针(挖井).

输入操作: 把文件中的数据流向到程序中,此刻文件是源,程序是方针.

输出操作: 把程序中的数据流向到文件中,此刻文件是方针,程序是源.

2):创立IO流方针(水管).

输入操作: 创立输入流方针.

输出操作: 创立输出流方针.

3):详细的IO操作.

输入操作: 输入流方针的read办法.

输出操作: 输出流方针的write办法.

4):封闭资源(勿忘). 一旦资源封闭之后,就不能运用流方针了,不然报错.

输入操作: 输入流方针.close();

输出操作: 输出流方针.close();

留意:

四大笼统流是不能创立方针的,一般的咱们依据不同的需求创立他们不同的子类方针,比方操作文件时就运用文件流。

不论是什么流,操作结束都必须调用close办法,开释资源。1.1.4.1. InputStream(字节输入流)

类的声明为:public abstract class InputStream extends Object implements Closeable,表明字节输入流的一切类的超类。

常用办法:

public void close() throws IOException:封闭此输入流并开释与该流相关的一切系统资源。 InputStream 的 close 办法不履行任何操作。

public abstract int read() throws IOException:从输入流中读取一个字节数据并回来该字节数据,假如抵达流的结尾,则回来 -1。

public int read(byte[] buff) throws IOException:从输入流中读取多个字节数据,并存储在缓冲区数组 buff 中。回来已读取的字节数量,假如已抵达流的结尾,则回来 -1。1.1.4.2. OutputStream(字节输出流)

类的声明为:public abstract class OutputStream extends Object implements Closeable, Flushable,表明字节输出流的一切类的超类。

常用办法:

public void close() throws IOException:封闭此输出流并开释与此流有关的一切系统资源。

public abstract void write(int b) throws IOException:将指定的一个字节数据b写入到输出流中。

public void write(byte[] buff) throws IOException:把数组buff中一切字节数据写入到输出流中。

public void write(byte[] b, int off,int len) throws IOException:把数组buff中从索引off 开端的len 个字节写入此输出流中。1.1.4.3. Reader(字符输入流)

类的声明为:public abstract class Reader extends Object implements Readable, Closeable,表明字符输入流的一切类的超类。

常用办法:

public abstract void close() throws IOException:封闭此输入流并开释与该流相关的一切系统资源。

public int read() throws IOException:从输入流中读取一个字符数据并回来该字符数据,假如抵达流的结尾,则回来 -1。

public int read(char[] cbuf) throws IOException:从输入流中读取多个字符,并存储在缓冲区数组 cbuf 中。回来已读取的字符数,假如已抵达流的结尾,则回来 -1。1.1.4.4. Writer(字符输出流)

类的声明为:public abstract class Writer extends Object implements Appendable, Closeable, Flushable,表明字符输出流的一切类的超类。

常用办法:

public abstract void flush() throws IOException:改写此输出流并强制写出一切缓冲的输出字符。

public abstract void close() throws IOException:封闭此输入流并开释与该流相关的一切系统资源。

public void write(int c) throws IOException:将指定的一个字符数据c写入到输出流中。

public void write(char[] cbuf) throws IOException:把数组cbuf中cbuf.length 个字符数据写入到输出流中。

public abstract void write(char[] cbuf, int off,int len) throws IOException:把数组cbuf中从索引off 开端的len 个字符写入此输出流中。

public void write(String str) throws IOException:将str字符串数据写入到输出流中。

本系列教程为叩丁狼Java根底班内部教材,若要取得最好的学习效果,需求合作对应教育视频一同学习。需求完好教育视频,请私信作者。

操作 数据 字节
你该读读这些:一周精选导览
更多内容...
热点MOST POPULAR