1. 程式人生 > >Java_IO流輸入輸出

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