Java_IO流輸入輸出
第三章 輸入輸出
一、I/O
Input/Output
二、File
用途:對檔案和目錄進行常規操作(除檔案讀寫操作外)。
方法:exists():判斷檔案或目錄是否存在
isFile():判斷是否是檔案
isDirectory():判斷是否是目錄
creaetNewFile():建立檔案
mkDir():建立目錄
length():獲取檔案的大小
getAbsolutePath():獲取絕對路徑(目錄名+檔名)
listFiles():獲取目錄下的所有子目錄和檔案
get...|set...操作檔案的屬性的方法
三、檔案的讀寫操作
檔案的讀寫操作通過流來實現。
流根據流向可以劃分為:輸入流(InputStream和Reader)、輸出流(OutputStream和Writer)
流根據處理單元可以劃分為:位元組流(InputStream和OutputStream)、字元流(Writer和Reader)
位元組流是8位通用位元組流;字元流是16位Unicode字元流(中文佔2個位元組)。
流向以“記憶體”作為參照物。
輸入輸出 - 檔案讀寫操作
四、IO類的層次關係
抽象類:InputStream(read、close、avilable)、OutputStream(write、close)、Reader(read、close)、Writer(write、close)
實現類:
InputStream OutputStream Reader Writer
FileInputStream(位元組流) FileOutputStream InputStreamReader OutputStreamWriter
DataInputStream(二進位制流) DataOutputStream FileReader FileWriter
ObjectInputStream(序列化) ObjectOutputStream BufferedReader BufferedWriter
八、其他
1.不同的作業系統檔案路徑分隔符是不一樣的。
windows作業系統:c:\windows\test.txt c:/windows/test.txt
Linux作業系統:/book/book1.txt
推薦:以後在java中用到目錄分隔符時,統一使用/。
2.在windows中,諸如c盤d盤等的官方名稱:磁碟驅動器
3.每次在讀寫檔案完畢後,一定要關閉流。
4.換行
windows平臺:\r\n
Linux:\n
5.以字元流的方式讀寫檔案時,會出現亂碼問題。通過指定編碼格式。
ASCII、GB2312、GBK、UTF-8