# 底層讀寫
### 底層IO
~~~
file=open(path)
file.read(buf)
file.write(buf)
file.readAt(buf,offset)
file.writeAt(buf,offset)
~~~
### 緩沖IO
~~~
bufio.Reader/Writer
file=open(path)
bufFile=bufio.NewReader(file)
bufFile.read(buf)
file=open(path)
bufFile = bufio.NewWriter(file)
bufFile.Write([]byte("haha"))
w.Flush()//將bufFile里面的數據刷到file里面去,操作系統可能還有一層buf!
~~~
> 標準IO操作數據流向路徑:數據—>進程緩沖(用戶態)—>內核緩存區(內核態)—>磁盤
> 為什么包一層buf,buf讀的時候讀一大塊,給你讀取的時候,你只需要從buf里面去讀一點數據,下次再讀一點數據,不用每次讀取都去調用系統庫,buf寫的時候,當寫滿一大塊的時候,才真正調用系統寫,因為不用每次寫都去調用系統寫,這樣會提高性能,但數據可能丟失或是不一致的情況
>
#### 任務
1. 給10G的文件排序?