超牛牪犇Java之IO流 前篇

2021-08-20 08:05:36 字數 1735 閱讀 6674

流(位元組流 以位元組為單位 進行資料的傳輸)

以參照物來衡量 是輸出還是輸入

流的參照物(程式)

輸出流程式 --> 檔案 (寫檔案使用輸出流)

outputstream 位元組輸出流

輸入流檔案 --> 程式 (讀取檔案使用輸入流)

inputstream  位元組輸入流

以上兩個類是 所有位元組流的父類

寫檔案步驟

1.建立要繫結的檔案

2.建立輸出流 繫結檔案

3.寫檔案

4.關閉流資源

//建立file(給輸出流繫結乙個輸出檔案)

//給出的路徑可以沒有該檔案(系統會幫你建立出來)

file file = new file("/users/lanou/desktop/test/hello.txt");

//建立檔案 位元組輸出流

fileoutputstream fos = new fileoutputstream(file);

//寫檔案

//注意:流這塊 全是拋的ioexception

//傳入int值的方法 是按ascii碼輸入

fos.write(49);

fos.write(45);

//建立乙個位元組陣列

byte b = ;

fos.write(b);

//直接寫字串

//字串轉位元組陣列 getbytes

//位元組陣列轉字串 字串的構造方法

fos.write("wanglong".getbytes());

fos.write(b, 1, 2);

//關閉資源

fos.close();

io流中異常的處理:

//異常處理

file file = new file("/users/lanou/desktop/test/hello.txt");

//建立乙個空的引用

fileoutputstream fos = null;

try catch (filenotfoundexception e) catch (ioexception e)

//關閉資源 一定要確保可以關閉 關閉的**可以執行

finally catch (ioexception e)

}}

位元組輸入流:

inputstream

系統讀取檔案

private static void fun2(fileinputstream fis) throws ioexception 

fis.close();

}

一次讀取多個:

private static void fun3(fileinputstream fis) throws ioexception
直接用迴圈寫:

file file = new file("/users/lanou/desktop/test/hello.txt");

fileinputstream fis = new fileinputstream(file);

byte b = new byte[2];

int num = 0;

while ((num = fis.read(b)) != -1)

//關閉資源

fis.close();

超牛牪犇Java之異常處理Plus

1.執行時的異常 程式設計師犯的錯誤 寫錯了 比如越界 2.編譯時的異常 除了執行時異常 全是編譯時異常 是為你可能發生的一場 進行乙個準備 特點 系統強制你去處理這個異常 比如 讀取檔案時傳入要讀取的檔案的路徑 但是系統不知道你有沒有這個檔案 所以強制你處理 沒有這個檔案怎麼辦 相當於 為可能發生...

超牛牪犇Java之迴圈 遞迴 函式簡介

1.迴圈 1 do while 迴圈 不管判斷語句是否成立 都會先執行迴圈體1次 fun1 fun2 while的死迴圈 讓判斷條件恆成立 intnumber 1 while true number 2 for迴圈 for 宣告迴圈增量初值 判斷條件 增量 1 2 4 3 2 4 3.5 迴圈的執行...

超牛牪犇Java之集合中的方法 迭代器

1.新增方法add 和 addall 建立兩個集合 collection collection new arraylist collection.add a collection.add b collection.add c collection.add d collection collectio...