Java學習筆記 IO流

2021-08-02 16:05:52 字數 1498 閱讀 6302

流按操作型別分為兩種: 位元組流與字元流。位元組流可以操作任何資料,字元流只能操作純字元資料,比較方便;

位元組流: 基本操作與字元流相同, 位元組流可以操作任意型別資料;

位元組流和字元流的區別:

<1>位元組流用來讀取位元組資料;

<2>字元流用來讀取字元資料;

<3>由於計算機中儲存和傳輸資料是以位元組的形式,所以位元組流可以操作任意型別資料;

<4>在所有位元組都對應字元的時候,使用字元流操作更方便;

**示例

file infile = new file("f:\\a\\1.***");

file outfile = new file("e:\\abc.***");

//建立資料通道

fileinputstream fileinputstream = new fileinputstream(infile);

fileoutputstream fileoutputstream = new fileoutputstream(outfile);

//建立緩衝位元組陣列,邊讀邊寫

byte buf = new

byte

[1024];

int length =0 ; //用於記錄每次讀取的位元組個數

while((length=fileinputstream.read(buf))!=-1)

//關閉資源

fileoutputstream.close();

fileinputstream.close();

位元組流和字元流使用是非常相似的,那麼除了操作**的不同之外,還有哪些不同呢?

位元組流在操作的時候本身是不會用到緩衝區(記憶體)的,是與檔案本身直接操作的,而字元流在操作的時候是使用到緩衝區的

位元組流在操作檔案時,即使不關閉資源(close方法),檔案也能輸出,但是如果字元流不使用close方法的話,則不會輸出任何內容,說明字元流用的是緩衝區,並且可以使用flush方法強制進行重新整理緩衝區,這時才能在不close的情況下輸出內容

reader是使用字元的方式從檔案中取出資料,reader類的定義如下:

public abstract class reader extends objects implements readable,closeable

reader本身也是抽象類,如果現在要從檔案中讀取內容,則可以直接使用filereader子類。

filereader的構造方法定義如下:

public filereader(file file)throws filenotfoundexception

以字元陣列的形式讀取出資料:

public

class test

}

public

class test16

}

public

class test12

}

Java學習筆記 IO流

inputstream和outputstream是抽象類,他們是所有位元組輸入流和輸出流的父類。public static void main string args throws ioexceptionpublic static void main string args throws ioexc...

Java學習筆記 IO流

強制重新整理 os.flush 釋放資源,關閉流,遵循先開啟後關閉原則 os.close is.close public class test catch filenotfoundexception e catch ioexception e finally catch ioexception e ...

Java學習筆記之 IO流之列印流

列印流 三個常量 1.system.in 輸入流 2.system.out 輸出流 除錯 列印日誌 3.system.err 列印出的顏色是紅色的 重定向setin setout seterr 下面為demo public class printstreamdemo01 我們可以看到檔案如下 然後我...