亚洲AV无码电影在线播放,中国猛少妇色xxxxx,日韩欧洲在线高清一区,欧美人与ZOXXXX另类,一本一道精品欧美中文字幕

Java入門(mén)教程-IO流概述

發(fā)布時(shí)間 2018年09月25日 14:02    編輯:landyliao    來(lái)源:叩丁狼教育stef 資訊 » 美容

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

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

電腦相關(guān)的IO設備:和電腦通訊的設備,此刻要站在電腦的視點(diǎn),把信息傳遞給電腦叫輸入設備,把電腦信息傳遞出來(lái)的叫輸出設備。

輸入設備:麥克風(fēng)、掃描器、鍵盤(pán)、鼠標等

輸出設備:顯現器、打印機、投影儀、耳機、音響等

為什么程序需求IO呢?

事例1:打游戲操作,需求存儲游戲的信息。此刻需求把游戲中的數據存儲起來(lái),數據只能存儲在文件中。

事例2:打游戲操作,需求讀取之前游戲的記載信息,數據存儲在一個(gè)文件中的。此刻游戲程序需求去讀取文件中的數據,并顯現在游戲中。

IO操作是一個(gè)相對的進(jìn)程,一般的,咱們在程序視點(diǎn)來(lái)考慮(程序的內存)。

程序需求讀取數據:文件——>程序,輸入操作

程序需求保存數據:程序——>文件,輸出操作

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

解說(shuō)IO知識點(diǎn)的時(shí)分,習氣和日子中的水流聯(lián)系起來(lái),一同來(lái)看看復古的水井和水缸。

此刻站在水缸的視點(diǎn),剖析IO的操作方向:

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

輸出操作:水缸——>飯鍋

留意:誰(shuí)具有數據,誰(shuí)就是源,把數據流到哪里,哪里就是方針。那么,請問(wèn)水缸是源仍是方針。1.1.3. 流的分類(lèi)(把握)

依據流的不同特性,流的區分是不一樣的,一般依照如下?tīng)顩r來(lái)考慮:

按活動(dòng)方向:分為輸入流和輸出流

按數據傳輸單位:分為字節省和字符流,即每次傳遞一個(gè)字節(byte)或一個(gè)字符(char)

按功用上區分:分為節點(diǎn)流和處理流,節點(diǎn)流功用單一,處理流功用更強

流的流向是相對的,咱們一般站在程序的視點(diǎn):

程序需求數據 → 把數據讀進(jìn)來(lái) →輸入操作(read):讀進(jìn)來(lái)

程序保存數據 → 把數據寫(xiě)出去 → 輸出操作(write):寫(xiě)出去

六字告誡:讀進(jìn)來(lái),寫(xiě)出去(細心揣摩這六個(gè)字有什么深邃的意義)1.1.4. 四大基流

操作IO流的模板:

1):創(chuàng )立源或許方針?lè )结?挖井).

輸入操作: 把文件中的數據流向到程序中,此刻文件是源,程序是方針.

輸出操作: 把程序中的數據流向到文件中,此刻文件是方針,程序是源.

2):創(chuàng )立IO流方針(水管).

輸入操作: 創(chuàng )立輸入流方針.

輸出操作: 創(chuàng )立輸出流方針.

3):詳細的IO操作.

輸入操作: 輸入流方針的read辦法.

輸出操作: 輸出流方針的write辦法.

4):封閉資源(勿忘). 一旦資源封閉之后,就不能運用流方針了,不然報錯.

輸入操作: 輸入流方針.close();

輸出操作: 輸出流方針.close();

留意:

四大籠統流是不能創(chuàng )立方針的,一般的咱們依據不同的需求創(chuàng )立他們不同的子類(lèi)方針,比方操作文件時(shí)就運用文件流。

不論是什么流,操作結束都必須調用close辦法,開(kāi)釋資源。1.1.4.1. InputStream(字節輸入流)

類(lèi)的聲明為:public abstract class InputStream extends Object implements Closeable,表明字節輸入流的一切類(lèi)的超類(lèi)。

常用辦法:

public void close() throws IOException:封閉此輸入流并開(kāi)釋與該流相關(guān)的一切系統資源。 InputStream 的 close 辦法不履行任何操作。

public abstract int read() throws IOException:從輸入流中讀取一個(gè)字節數據并回來(lái)該字節數據,假如抵達流的結尾,則回來(lái) -1。

public int read(byte[] buff) throws IOException:從輸入流中讀取多個(gè)字節數據,并存儲在緩沖區數組 buff 中?;貋?lái)已讀取的字節數量,假如已抵達流的結尾,則回來(lái) -1。1.1.4.2. OutputStream(字節輸出流)

類(lèi)的聲明為:public abstract class OutputStream extends Object implements Closeable, Flushable,表明字節輸出流的一切類(lèi)的超類(lèi)。

常用辦法:

public void close() throws IOException:封閉此輸出流并開(kāi)釋與此流有關(guān)的一切系統資源。

public abstract void write(int b) throws IOException:將指定的一個(gè)字節數據b寫(xiě)入到輸出流中。

public void write(byte[] buff) throws IOException:把數組buff中一切字節數據寫(xiě)入到輸出流中。

public void write(byte[] b, int off,int len) throws IOException:把數組buff中從索引off 開(kāi)端的len 個(gè)字節寫(xiě)入此輸出流中。1.1.4.3. Reader(字符輸入流)

類(lèi)的聲明為:public abstract class Reader extends Object implements Readable, Closeable,表明字符輸入流的一切類(lèi)的超類(lèi)。

常用辦法:

public abstract void close() throws IOException:封閉此輸入流并開(kāi)釋與該流相關(guān)的一切系統資源。

public int read() throws IOException:從輸入流中讀取一個(gè)字符數據并回來(lái)該字符數據,假如抵達流的結尾,則回來(lái) -1。

public int read(char[] cbuf) throws IOException:從輸入流中讀取多個(gè)字符,并存儲在緩沖區數組 cbuf 中?;貋?lái)已讀取的字符數,假如已抵達流的結尾,則回來(lái) -1。1.1.4.4. Writer(字符輸出流)

類(lèi)的聲明為:public abstract class Writer extends Object implements Appendable, Closeable, Flushable,表明字符輸出流的一切類(lèi)的超類(lèi)。

常用辦法:

public abstract void flush() throws IOException:改寫(xiě)此輸出流并強制寫(xiě)出一切緩沖的輸出字符。

public abstract void close() throws IOException:封閉此輸入流并開(kāi)釋與該流相關(guān)的一切系統資源。

public void write(int c) throws IOException:將指定的一個(gè)字符數據c寫(xiě)入到輸出流中。

public void write(char[] cbuf) throws IOException:把數組cbuf中cbuf.length 個(gè)字符數據寫(xiě)入到輸出流中。

public abstract void write(char[] cbuf, int off,int len) throws IOException:把數組cbuf中從索引off 開(kāi)端的len 個(gè)字符寫(xiě)入此輸出流中。

public void write(String str) throws IOException:將str字符串數據寫(xiě)入到輸出流中。

本系列教程為叩丁狼Java根底班內部教材,若要取得最好的學(xué)習效果,需求合作對應教育視頻一同學(xué)習。需求完好教育視頻,請私信作者。

操作 數據 字節
你該讀讀這些:一周精選導覽
更多內容...
熱點(diǎn)MOST POPULAR
亚洲AV无码电影在线播放,中国猛少妇色xxxxx,日韩欧洲在线高清一区,欧美人与ZOXXXX另类,一本一道精品欧美中文字幕