Java IO流之普通檔案流和隨機讀寫流區別
普通檔案流和隨機讀寫流區別
FileInputStream和FileOutputStream
FileReader和FileWriter
RandomAccessFile
兩者區別:
1.流向分類差別
普通檔案流:分輸入流和輸出流
隨機讀寫流:既是輸入流也是輸出流
2.基本方法區別
普通檔案流:擁有所有共性方法,
比如read(),write(),close(),flush(),skip()等等方法
隨機讀寫流:除了擁有這些共性方法,還有自己特有的方法, 比如readLine(),seek(),skipBytes()等等方法 特別注意:隨機讀寫流沒有flush()方法
3.構造方法區別
普通檔案流: 1)輸入流:引數都檔案路徑 FileInputStream(File file) FileInputStream(String name) 2)輸出流:引數1--都是檔案路徑; FileOutputStream(File file) FileOutputStream(String name) 引數2 append: true時--寫入時不覆蓋原有內容,而是在檔案內容後面接著寫; false--寫入時會覆蓋原有內容,沒有第二個引數時預設是false FileOutputStream(File file, boolean append) FileOutputStream(String name, boolean append)
隨機讀寫流:
引數1:都是檔案路徑;引數2:是讀寫模式,只有兩個取值--r或rw
RandomAccessFile(File file, String mode)
RandomAccessFile(String name, String mode)
4.讀寫位置區別
普通檔案流:只能在指定位置【讀取】--skip()方法,不能指定位置寫入
隨機檔案流:可以在指定位置進行【讀寫】,使用seek()方法
5.應用區別
普通檔案流:使用普通檔案流不能進行多執行緒複製
隨機讀寫流:可以進行多執行緒複製