两个吃奶一个添下面视频_人妻第一页香蕉网_欧美xxxx少妇_妺妺窝人体色www婷婷

上一節(jié),我們學(xué)習(xí)了文件字節(jié)輸入流的構(gòu)造方法,這一節(jié),我們繼續(xù)學(xué)習(xí)如何使用輸入流讀取字節(jié)以及關(guān)閉流。

1.使用輸入流讀取字節(jié)

輸入流的目的是提供讀取源中數(shù)據(jù)的通道,程序可以通過這個(gè)通道讀取源中的數(shù)據(jù),文件字節(jié)流可以調(diào)用從父類繼承的read方法順序地讀取文件,只要不關(guān)閉流,每次調(diào)用read方法就順序地讀取文件中的其余內(nèi)容,直到文件的末尾或文件字節(jié)輸入流被關(guān)閉。


字節(jié)輸入流的read方法以字節(jié)為單位讀取源中的數(shù)據(jù)。

1)int read()

輸入流調(diào)用該方法從源中讀取單個(gè)字節(jié)的數(shù)據(jù),該方法返回字節(jié)值(0~255之間的一個(gè)整數(shù)),如果未讀出字節(jié)就返回-1。

2)int read(byte b[])

輸入流調(diào)用該方法從源中試圖讀取b.length個(gè)字節(jié)到字節(jié)數(shù)組b中,返回實(shí)際讀取的字節(jié)數(shù)目。如果到達(dá)文件的末尾,則返回-1。

3)int read(byte b[],int off,int len)

輸入流調(diào)用該方法從源中試圖讀取len個(gè)字節(jié)到字節(jié)數(shù)組b中,并返回實(shí)際讀取的字節(jié)數(shù)目。如果到達(dá)文件的末尾,則返回-1,參數(shù)off指定從字節(jié)數(shù)組的某個(gè)位置開始存放讀取的數(shù)據(jù)。


注意:FileInputStream流順序地讀取文件,只要不關(guān)閉流,每次調(diào)用read方法就順序地讀取源中其余的內(nèi)容,直到源的末尾或流被關(guān)閉。

2.關(guān)閉流

輸入流都提供了關(guān)閉方法close(),盡管程序結(jié)束時(shí)會自動(dòng)關(guān)閉所有打開的流,但是當(dāng)程序使用完流后,顯示地關(guān)閉任何打開的流仍是一個(gè)良好的習(xí)慣。如果沒有關(guān)閉那些被打開的流,那么就可能不允許另一個(gè)程序操作這些流所用的資源。


例如:

import java.io.*;
public class Main {
    public static void main(String args[]) {
        int n = -1;
        byte [] a = new byte[100];
        try {
            File f = new File("Main.java");
            InputStream in = new FileInputStream(f);
            while((n = in.read(a,0,100)) !=-1) {
                String s = new String (a,0,n);
                System.out.print(s);
            }
            in.close();
        }
        catch(IOException e) {
            System.out.println("File read Error"+e);
        }
    }
}


注意:當(dāng)把讀入的字節(jié)轉(zhuǎn)化為字符串時(shí),要把實(shí)際讀入的字節(jié)轉(zhuǎn)化為字符串,例如上述例子中:

String s = new String (a,0,n);

不可寫成:

String s = new String (a,0,100);


點(diǎn)贊(0)

C語言網(wǎng)提供由在職研發(fā)工程師或ACM藍(lán)橋杯競賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點(diǎn)擊了解:

一點(diǎn)編程也不會寫的:零基礎(chǔ)C語言學(xué)練課程

解決困擾你多年的C語言疑難雜癥特性的C語言進(jìn)階課程

從零到寫出一個(gè)爬蟲的Python編程課程

只會語法寫不出代碼?手把手帶你寫100個(gè)編程真題的編程百練課程

信息學(xué)奧賽或C++選手的 必學(xué)C++課程

藍(lán)橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競賽課入門課程

手把手講解近五年真題的藍(lán)橋杯輔導(dǎo)課程

Dotcpp在線編譯      (登錄可減少運(yùn)行等待時(shí)間)