中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

古冶區(qū)城鄉(xiāng)建設(shè)局網(wǎng)站seo技術(shù)培訓(xùn)江門

古冶區(qū)城鄉(xiāng)建設(shè)局網(wǎng)站,seo技術(shù)培訓(xùn)江門,煙臺怎么做網(wǎng)站,盧灣網(wǎng)站建設(shè)1、IO流 IO流:數(shù)據(jù)傳輸過程類似于水流,故稱IO流 IO流的的40多個類都是從4個抽象類基類中派生出來的,前者是字節(jié),后者是字符 InputStream/Reader:所有的輸入流的基類OutputStream/Writer:所有輸出流的基類 2、字符流和字節(jié)流的區(qū)…

1、IO流

IO流:數(shù)據(jù)傳輸過程類似于水流,故稱IO流
IO流的的40多個類都是從4個抽象類基類中派生出來的,前者是字節(jié),后者是字符

  1. InputStream/Reader:所有的輸入流的基類
  2. OutputStream/Writer:所有輸出流的基類

2、字符流和字節(jié)流的區(qū)別

  1. 字符流是由Java虛擬機將字節(jié)轉(zhuǎn)換得到的,這個過程比較耗時
  2. 如果我們不知道編碼類型就很容易出現(xiàn)問題
  3. 根據(jù)實際應(yīng)用中操作對象的不同選用合適的方法
  4. Reader 用于讀取文本, InputStream 用于讀取原始字節(jié)
  5. 字符和字節(jié)的編碼轉(zhuǎn)換:utf8 :英文占 1 字節(jié),中文占 3 字節(jié),unicode:任何字符都占 2 個字節(jié),gbk:英文占 1 字節(jié),中文占 2 字節(jié)

3、字節(jié)流

1、InputStream(字節(jié)輸入流)

1、InputStream: 用于從源頭(通常是文件)讀取數(shù)據(jù)(字節(jié)信息)到內(nèi)存中

2、常用方法

  1. read():返回輸入流中下一個字節(jié)的數(shù)據(jù)
  2. skip():忽略輸入流的n個字節(jié)
  3. available():返回輸入流中可以讀取的字節(jié)數(shù)
  4. close():關(guān)閉輸入流,釋放相關(guān)的系統(tǒng)資源
  5. readAllBytes():讀取輸入流中的所有字節(jié),返回字節(jié)數(shù)組
  6. transferTo(OutputStream out):將所有字節(jié)從一個輸入流傳遞到一個輸出流

3、常用子類

  1. FileInputStream:和文件相關(guān)的字節(jié)輸入流類
//新建一個字節(jié)文件輸入流對象
InputStream fis = new FileInputStream("input.txt")
  1. BufferedInputStream:字節(jié)緩存輸入流
// 新建一個 BufferedInputStream 對象
BufferedInputStream bufferedInputStream = new BufferedInputStream(new FileInputStream("input.txt"));
// 讀取文件的內(nèi)容并復(fù)制到 String 對象中
String result = new String(bufferedInputStream.readAllBytes());
System.out.println(result);
  1. DataInputStream:用于讀取指定類型數(shù)據(jù),不能單獨使用,必須結(jié)合 FileInputStream
FileInputStream fileInputStream = new FileInputStream("input.txt");
//必須將fileInputStream作為構(gòu)造參數(shù)才能使用
DataInputStream dataInputStream = new DataInputStream(fileInputStream);
//可以讀取任意具體的類型數(shù)據(jù)
dataInputStream.readBoolean();
dataInputStream.readInt();
dataInputStream.readUTF();
  1. ObjectInputStream:用于從輸入流中讀取Java對象(反序列化)
ObjectInputStream input = new ObjectInputStream(new FileInputStream("object.data"));
MyClass object = (MyClass) input.readObject();
input.close();

2、OutputStream(字節(jié)輸出流)

1、OutputStream: 用于將數(shù)據(jù)(字節(jié)信息)寫入到目的地(通常是文件)

2、常用方法

  1. write(int b) :將特定字節(jié)寫入輸出流。
  2. flush() :刷新此輸出流并強制寫出所有緩沖的輸出字節(jié)。
  3. close() :關(guān)閉輸出流釋放相關(guān)的系統(tǒng)資源。

3、常用子類

  1. FileOutputStream:最常用的字節(jié)輸出流對象,可直接指定文件路徑,可以直接輸出單字節(jié)數(shù)據(jù),也可以輸出指定的字節(jié)數(shù)組
  2. BufferedOutputStream:字節(jié)緩沖輸出流
FileOutputStream fileOutputStream = new FileOutputStream("output.txt");
BufferedOutputStream bos = new BufferedOutputStream(fileOutputStream)
  1. DataOutputStream :用于寫入指定類型數(shù)據(jù),不能單獨使用,必須結(jié)合 FileOutputStream
  2. ObjectOutputStream:將對象寫入到輸出流(序列化)

4、字符流

字符流默認采用的是 Unicode 編碼,我們可以通過構(gòu)造方法自定義編碼

1、Reader(字符輸入流)

**1、Reader:**用于從源頭(通常是文件)讀取數(shù)據(jù)(字符信息)到內(nèi)存中

2、常用方法:

  1. read() : 從輸入流讀取一個字符
  2. skip(long n) :忽略輸入流中的 n 個字符 ,返回實際忽略的字符數(shù)。
  3. close() : 關(guān)閉輸入流并釋放相關(guān)的系統(tǒng)資源

3、常用子類

  1. FileReader:InputStreamReader 是字節(jié)流轉(zhuǎn)換為字符流的橋梁,其子類 FileReader 是基于該基礎(chǔ)上的封裝,可以直接操作字符文件
FileReader fileReader = new FileReader("input.txt");

2、Writer(字符輸出流)

**1、Writer:**用于將數(shù)據(jù)(字符信息)寫入到目的地(通常是文件)

2、常用方法:

  1. write(int c) : 寫入單個字符
  2. write(String str) :寫入字符串
  3. append(char c) :將指定的字符附加到指定的 Writer 對象并返回該 Writer 對象
  4. flush() :刷新此輸出流并強制寫出所有緩沖的輸出字符。
  5. close():關(guān)閉輸出流釋放相關(guān)的系統(tǒng)資源

3、常用子類

  1. FileWriter:OutputStreamWriter 是字符流轉(zhuǎn)換為字節(jié)流的橋梁,其子類 FileWriter 是基于該基礎(chǔ)上的封裝,可以直接將字符寫入到文件
try (Writer output = new FileWriter("output.txt")) {output.write("你好,我是Guide。");
} catch (IOException e) {e.printStackTrace();
}

5、字節(jié)緩沖流

1、字節(jié)緩沖流: IO 操作是很消耗性能的,緩沖流將數(shù)據(jù)加載至緩沖區(qū),一次性讀取/寫入多個字節(jié),從而避免頻繁的 IO 操作,提高流的傳輸效率

**2、和字節(jié)流的性能差別:**字節(jié)流和字節(jié)緩沖流的性能差別主要體現(xiàn)在我們使用兩者的時候都是調(diào)用 write(int b) 和 read() 這兩個一次只讀取一個字節(jié)的方法的時候。由于字節(jié)緩沖流內(nèi)部有緩沖區(qū)(字節(jié)數(shù)組),因此,字節(jié)緩沖流會先將讀取到的字節(jié)存放在緩存區(qū),大幅減少 IO 次數(shù),提高讀取效率

3、常用類: BufferedInputStream(字節(jié)緩沖輸入流)和BurreredOutputStream(字節(jié)緩沖輸出流)

6、字符緩沖流

BufferedReader (字符緩沖輸入流)和 BufferedWriter(字符緩沖輸出流): 類似于 BufferedInputStream(字節(jié)緩沖輸入流)和BufferedOutputStream(字節(jié)緩沖輸入流),內(nèi)部都維護了一個字節(jié)數(shù)組作為緩沖區(qū)

7、打印流

  1. System.out 實際是用于獲取一個 PrintStream 對象,print方法實際調(diào)用的是 PrintStream 對象的
    write 方法。
System.out.println("Hello!");
  1. PrintStream 屬于字節(jié)打印流,與之對應(yīng)的是 PrintWriter (字符打印流)。

參考

  1. https://javaguide.cn/java/io/io-basis.html
http://www.risenshineclean.com/news/55068.html

相關(guān)文章:

  • 旅游網(wǎng)站首頁圖片最近的新聞大事10條
  • 加關(guān)鍵詞的網(wǎng)站黃頁污水
  • 全國做網(wǎng)站公司排名營銷手段和技巧
  • 免費表格制作app關(guān)鍵詞優(yōu)化哪家好
  • 做外鏈權(quán)重高的女性網(wǎng)站霸屏seo服務(wù)
  • 網(wǎng)頁制作如何新建站點免費發(fā)外鏈
  • 網(wǎng)站錨文本鏈接怎么做東莞seo網(wǎng)站優(yōu)化排名
  • 政務(wù)網(wǎng)站建設(shè)工作方案電商網(wǎng)站模板
  • 網(wǎng)站提交做外鏈有什么作用正規(guī)電商培訓(xùn)學(xué)校排名
  • 如何做服裝微商城網(wǎng)站建設(shè)外貿(mào)建站推廣哪家好
  • 網(wǎng)站建設(shè)推廣合同范本網(wǎng)站seo優(yōu)化皆宣徐州百都網(wǎng)絡(luò)不錯
  • 宿遷網(wǎng)站制作win7優(yōu)化極致性能
  • 用wordpress制作軟件seo關(guān)鍵詞排名教程
  • 微商城開發(fā)公司有哪些比較好百度seo價格查詢
  • 企業(yè)網(wǎng)站建設(shè)模塊長沙百度開戶
  • 綿陽做最好優(yōu)化網(wǎng)站的云資源軟文發(fā)布平臺
  • 網(wǎng)站后臺管理是什么網(wǎng)絡(luò)seo公司
  • 做賭博網(wǎng)站賺企業(yè)網(wǎng)站推廣
  • 茂名網(wǎng)站制作價格生意參謀指數(shù)在線轉(zhuǎn)換
  • 電子商務(wù)網(wǎng)站購物車怎么做建網(wǎng)站軟件工具
  • 自己做網(wǎng)站跟域名怎樣做常州網(wǎng)站建設(shè)制作
  • 美女直接做的網(wǎng)站有哪些汕頭網(wǎng)站建設(shè)方案推廣
  • 手機網(wǎng)站建設(shè)模板3步打造seo推廣方案
  • 學(xué)做ppt推薦網(wǎng)站收錄查詢 站長工具
  • 南通網(wǎng)站制作專家比較靠譜的網(wǎng)站
  • 網(wǎng)頁設(shè)計的基礎(chǔ)aso優(yōu)化平臺有哪些
  • 嵊州市住房和城鄉(xiāng)建設(shè)局網(wǎng)站人民日報今日新聞
  • 淄博論壇網(wǎng)站建設(shè)百度營銷
  • 寧波制作網(wǎng)站公司廣告外鏈購買交易平臺
  • 高端 網(wǎng)站制作廣告營銷方式有哪幾種