亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

java語言

java字節(jié)流字符流知識(shí)點(diǎn)

時(shí)間:2024-08-22 03:09:48 java語言 我要投稿
  • 相關(guān)推薦

java字節(jié)流字符流知識(shí)點(diǎn)

  對(duì)于UTF-8,英文是1個(gè),中文是3個(gè)

java字節(jié)流字符流知識(shí)點(diǎn)

  對(duì)于Unicode,英文中文都是2個(gè)

  Java的流操作分為字節(jié)流和字符流兩種。

  1、字節(jié)流

  所有的讀操作都繼承自一個(gè)公共超類java.io.InputStream類。

  所有的寫操作都繼承自一個(gè)公共超類java.io.OutputStream類。

  InputStream和OutputStream都是抽象類。

  InputStream有6個(gè)低級(jí)輸入流:

  低級(jí)流

  流的用途

  ByteArrayInputStream

  從內(nèi)存數(shù)組中讀取數(shù)據(jù)字節(jié)

  FileInputStream

  從本地文件系統(tǒng)中讀取數(shù)據(jù)字節(jié)

  PipedInputStream

  從線程管道中讀取數(shù)據(jù)字節(jié)

  StringBufferInputStream

  從字符串中讀取數(shù)據(jù)字節(jié)

  SequenceInputStream

  從兩個(gè)或多個(gè)低級(jí)流中讀取數(shù)據(jù)字節(jié),當(dāng)?shù)竭_(dá)流的末尾時(shí)從一個(gè)流轉(zhuǎn)到另一個(gè)流

  System.in

  從用戶控制臺(tái)讀取數(shù)據(jù)字節(jié)

  InputStream還有一個(gè)子類:過濾器流java.io.FilterInputStream。過濾器流即能把基本流包裹起來,提供更多方便的用法。

  FilterInputStream 類的構(gòu)造方法為FilterInputStream(InputStream),在指定的輸入流之上,創(chuàng)建一個(gè)輸入流過濾器。

  FilterInputStream的常用的子類如下:

  過濾器輸入流

  流的用途

  BufferedInputStream

  緩沖區(qū)對(duì)數(shù)據(jù)的訪問,以提高效率

  DataInputStream

  從輸入流中讀取基本數(shù)據(jù)類型,如int、float、double或者甚至一行文本

  LineNumberInputStream

  在翻譯行結(jié)束符的基礎(chǔ)上,維護(hù)一個(gè)計(jì)數(shù)器,該計(jì)數(shù)器表明正在讀取的是哪一行。

  PushbackInputStream

  允許把數(shù)據(jù)字節(jié)向后推到流的首部

  OutputStream(略)

  OutputStream的結(jié)構(gòu)基本和InputStream是一樣的。

  2、字符流

  注:是在jdk1.1里面引進(jìn)的,上面字節(jié)流是在jdk1.0引進(jìn)的。當(dāng)用于處理文本數(shù)據(jù)時(shí),選擇字符流比字節(jié)流更好。但對(duì)只出路基本數(shù)據(jù)類型的開發(fā)者,可以繼續(xù)使用字節(jié)流。

  所有的讀操作都繼承自一個(gè)公共超類java.io.Reader類。

  所有的寫操作都繼承自一個(gè)公共超類java.io.Writer類。

  同樣Reader和Writer也是抽象類。

  Reader的常用的子類如下:

  低級(jí)讀取器

  流的用途

  CharArrayReader

  從字符數(shù)組中讀取數(shù)據(jù)

  InputStreamReader

  FileReader(InputStreamReader的子類)

  從本地文件系統(tǒng)中讀取字符序列

  StringReader

  從字符串中讀取字符序列

  PipedReader

  從線程管道中讀取字符序列

  InputStreamReader重點(diǎn)講解:

  InputStreamReader是從輸入流中讀取數(shù)據(jù),連接輸入流于讀取器。如:

  new InputStreamReader(System.in)

  構(gòu)造方法:

  InputStreamReader(InputStream)

  用缺省的字符編碼方式,創(chuàng)建一個(gè) InputStreamReader。

  InputStreamReader(InputStream, String)

  用已命名的字符編碼方式,創(chuàng)建一個(gè) InputStreamReader。

  常用的過濾器讀取器:

  過濾器讀取器

  流的用途

  BufferedReader

  緩沖數(shù)據(jù)的訪問,以提高效率

  LineNumberReader(BufferedReader的子類)

  維護(hù)一個(gè)計(jì)數(shù)器,該計(jì)數(shù)器表明正在讀取的是哪一行。

  FilterReader(抽象類)

  提供一個(gè)類創(chuàng)建過濾器時(shí)可以擴(kuò)展這個(gè)類

  PushbackReader(FilterReader的子類)

  允許把文本數(shù)據(jù)推回到讀取器的流中

  這些過濾器讀取器都可以傳入一個(gè)Reader作為構(gòu)造方法的參數(shù)。

  Writer(略)

  Writer的結(jié)構(gòu)基本和Reader是一樣的。

  字節(jié)流是最基本的,字符流是為了處理字符而提出來的。

  new BufferedReader

  (new InputStreamReader(client.getInputStream()));解釋:

  client.getInputStream()是字節(jié)流;

  InputStreamReader把字節(jié)流轉(zhuǎn)換成字符流;

  BufferedReader緩沖字符流,使得能夠使用readline()等方法,直接讀取一行。

【java字節(jié)流字符流知識(shí)點(diǎn)】相關(guān)文章:

Java中日期與字符串的處理08-16

java及相關(guān)字符集編碼問題解析06-05

C語言字符串知識(shí)點(diǎn)07-27

java判斷字符串是否為數(shù)字的幾個(gè)方法07-26

Java常用字符串反轉(zhuǎn)的五種方案06-25

Java基礎(chǔ)知識(shí)點(diǎn)07-07

Java基礎(chǔ)語法知識(shí)點(diǎn)07-31

詳解c語言字符數(shù)組與字符串的使用09-19

php字符串截取問題05-02

php的字符串常用函數(shù)06-15