檔案流概覽
這裡不再介紹流
的概念,直接上菜
位元組流和字元流的區別:
位元組流操作的基本單元是位元組,而字元流操作的基本單元是unicode碼元。
位元組流操作的是檔案本身,沒有使用到緩衝區(可以簡單理解為一段記憶體區域)。而字元流使用到了緩衝區,通過緩衝區操作檔案(這個後面可以寫個案列進行說明)
位元組流通常用於處理二進位制資料,實際上可以處理任意型別的資料。但是它不支援直接讀寫unicode碼元。字元流通常用於處理文字資料。
用位元組流好還是字元流好?
兩者相比較而言,位元組流更加的通用,硬碟上的檔案都是以位元組的形式進行儲存和傳輸,而字元只會在記憶體中才會形成,字元陣列、字串。在開發中,位元組流的應用更加廣泛。
需求案例
需求1:建立乙個新的檔案
/**
* 新建檔案
*/@test
void test1(
) catch (ioexception e)
}
需求2:刪除檔案
/**
* 刪除檔案
*/@test
void test2(
)else
}
需求3:建立乙個新的資料夾
/**
* 建立乙個資料夾
*/@test
void test3(
)else
}
需求4:刪除資料夾
/**
* 刪除乙個資料夾
*/@test
void test4(
)else
}
需求5:位元組流-----向檔案中寫入字串
/**
* 向檔案中寫入字串
*/@test
void test5(
) throws ioexception
else
}
需求6:位元組流-----讀取檔案內容使用位元組流讀取內容的時候,這裡記錄了兩種方式,最主要的區別就是方式一
中,我們預先申請了乙個指定大小的記憶體空間,但是這個空間在實際使用的過程中,可能會存在偏大或者偏小的情況,所以提倡使用方式二
。這樣就可以精確大小了。
/**
* 讀取檔案內容
*/@test
void test6(
) throws ioexception else
}
需求7:字元流-----向檔案寫入字串
/**
* 字元流---向檔案寫入字串
*/@test
void test7(
) throws ioexception
需求8:字元流-----讀取檔案內容
/**
* 字元流
* * 讀取檔案
*/@test
void test8(
) throws ioexception
文章開頭部分在介紹位元組流和字元流的時候,提到了兩者對於緩衝區的使用情況,這裡可以分別在使用位元組流和字元流向檔案寫入字串的時候,將.close
關閉流的方法注釋掉,然後再區分別讀取兩種方式的寫入情況然後會發現:使用位元組流的方式是成功將內容寫入了,但是使用字元流的方式的時候,內容就沒有寫入成功,這就是因為位元組流直接操作了檔案本身,但是字元流是操作的緩衝區需求9:合併檔案內容
/**
* 合併檔案內容
* * 將myworld.txt和hello.txt中的內容合併到 merge.txt檔案中
*/@test
void test9(
) throws ioexception
//關閉流
inputstream1.close();
inputstream2.close();
fileoutputstream.close();
sequenceinputstream.close();
}
需求10:壓縮檔案
/**
* 壓縮檔案
需求11:解壓縮單個檔案
/**
* 解壓縮單個檔案
*/@test
void test11(
) throws ioexception
inputstream.close();
fileoutputstream.close();
}
需求12:壓縮多個檔案
/**
* 壓縮多個檔案
*/@test
void test12(
) throws ioexception
input.close();
}}zipoutputstream.close();
}}
需求13:解壓縮多個檔案
/**
* 解壓縮多個檔案
*/@test
void test13(
) throws exception if(
!outfile.exists(
)) inputstream = zipfile.getinputstream(entry)
; output = new fileoutputstream(outfile)
; int temp;
while
((temp = inputstream.read(
)) != -1)
inputstream.close();
output.close();
}}
需求14:複製檔案
/**
* 複製乙個檔案
*/@test
void test14(
) throws ioexception
inputstream.close();
fileoutputstream.close();
}
後面碰到其他新的常見需求後再對此文章進行補充。 I O流 File類常用API
file類常用方法 1 建立file物件 file file parent,string child 從父抽象路徑名和子路徑名字串建立新的 file例項。file string pathname 通過將給定的路徑名字串轉換為抽象路徑名來建立新的 file例項。file string parent,s...
File類中的常用方法 IO流中的位元組流
1.file類 檔案和目錄路徑名的抽象表示 2.絕對路徑 帶碟符的路徑.相對路徑 相對其他檔案或目錄的乙個路徑叫相對路徑.如果當前檔案或目錄相對其他碟符的的檔案或目錄來說,此時相對路徑 絕對路徑.如果當前檔案或目錄相對當前所有在的碟符的檔案或目錄來說,此時相對路徑 絕對路徑.根路徑 相當當前專案的路...
判斷file空 IO流(二) File類
file類的建構函式 通過將給定路徑名字串轉換為抽象路徑名來建立乙個新 file 例項。引數 string pathname 字串的路徑名稱 路徑可以是以檔案結尾,也可以是以資料夾結尾 路徑可以是相對路徑,也可以是絕對路徑 路徑可以是存在,也可以是不存在 建立file物件,只是把字串路徑封裝為fil...