IO流的一些基本筆記

2021-07-10 01:52:11 字數 2673 閱讀 5432

1、file類----------------------------->作用:與外界建立聯絡

2個常量:路徑分隔符 file.pathseparator(;分號)             檔案分隔符 file.separator            ( windows(\)其他作業系統(/)) 

1)、路徑的表示形式

b)、string path ="e":+file.separator+"xp"+file.separator+"test"+file.separator+"2.jpg";(優點:跨平台)

c)、string path ="e:/xp/test/2.jpg";(推薦使用)

2)、相對路徑與絕對路徑與外界建立聯絡

a)、相對路徑

string parentpath ="e:/xp/test/「;(父類目錄)

string name = 」2.jpg「;(建立檔名)

第一種:file src = new file(parentpath,name);(直接讓檔案在目錄下有聯絡);

第二種:file src = new file(new file(parentpath),name);(先讓父類檔案建立聯絡,再讓檔案在目錄下有聯絡);

b)、絕對路徑

c)、沒有碟符、以user.dir構建

2、io流的基本操作

1、建立聯絡

file src = new file();

2、選擇流

3、操作

輸出流建議養成.flush的習慣

4、釋放資源

流.close

3、io流的分類

一、節點流(分為位元組流、字元流)

概念:離資料來源最近的流

a)、位元組流:可以處理一切格式

a、1)、輸入流 inputsteam  、fileinputsteam  、bytearrayinputsteam

操作 read(位元組陣列)

建立中間容器  byte[ ] flush = new byte[長度];

定義接受長度  int  len = 0;

迴圈讀取  while(-1!=(len=流.read(flush)))

操作 輸出或者拷貝

a、2)、輸出流  outputsteam  、fileoutputsteam  、bytearrayoutputsteam

操作 write(位元組陣列,0,長度) 輸出

b、1)、輸入流 reader  、filereader  、bytearrayreader

操作 read(字元陣列)

建立中間容器  char[ ] flush = new char[長度];

定義接受長度  int  len = 0;

迴圈讀取  while(-1!=(len=流.read(flush)))

操作 輸出或者拷貝

b、2)、輸出流  writer  、filewriter  、bytearraywriter

操作 write(字元陣列,0,長度)

二、處理流(分為轉換流、緩衝流、處理資料型別流、列印流等高階流)

作用:裝飾模式、提高效能、增強功能

a)、轉換流:解碼與編碼字符集問題的處理

1)、輸入流  inputsteamreader  ——>解碼

2)、輸出流  outputsteamwriter  ——>編碼

b)、緩衝流:提高效能  建議所有流都加上緩衝流提高效能

1)、輸入流  bufferedinputsteam   bufferedreader

2)、輸出流   bufferedoutputsteam   bufferedwriter

c)、處理資料型別流

1)、基本資料型別+string:必須存在才能讀取  讀取順序要與寫出順序一致

1、a)、輸入流  datainputsteam  ——>新增方法  read資料型別

1、b)、輸出流   dataoutputsteam ——>新增方法  write資料型別

2)、引用型別

2、a)、反序列化  objectinputsteam  ——>新增方法  readobject

2、b)、序列化     objecroutputsteam ——>新增方法  writeobject

4、列印流:printsteam()

5、system.in(鍵盤輸入) system.out(列印標準輸出(控制台)資訊) system.err(列印錯誤輸出資訊) 

setin  setout seterr(重定向,用來輸出到日誌)

注意:以下io流有新增方法不能使用多型:

1   bytearrayoutputsteam——>新增方法.tobytearray()   2   bufferedreader——>新增方法.readline

3   bufferedwrite——>新增方法.newline   4   datainputsteam  ——>新增方法  read資料型別   dataoutputsteam ——>新增方法  write資料型別

5   objectinputsteam  ——>新增方法  readobject   objecroutputsteam ——>新增方法  writeobject   6   printsteam

IO流的一些常見流物件操作

1 列印流 printwriter 列印流printwriter 構造引數可以接受的型別 file物件 file 字串路徑 string 位元組輸出流 ouputstream 字元輸出流 writer public class printwriterdemo01 流關閉 bufferedreader...

關於標準IO流的一些認識

c語言庫中有乙個file的結構體,當我們開啟乙個檔案的時候,會用到file 型別的指標來操作fopen所返回的乙個指標,這個指標就是流。流是作業系統管理io的乙個引入的概念,乙個流是與乙個描述符繫結在一起的。所以也可以根據流來得到乙個描述符。標準io庫有三種型別的緩衝 1 全緩衝2 行緩衝3 無緩衝...

IO流筆記一

流 資料流 把資料理解為河流從兩個終端進行互動 i o 1.input 輸入流 客戶端從伺服器讀取資料 也就是客戶端接收資料 讀取資料 2.output 輸出流 客戶端向伺服器傳送資料 也就是伺服器接收資料 寫入資料 作用 主要用於伺服器和客戶端的互動 劃分1.方向 1 輸入 應用程式從伺服器讀取資...