国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

IO流家族

2019-11-11 06:34:13
字體:
來源:轉載
供稿:網友

java中數據內存操作內存中的具體容量, 例如: byte[] buf = new byte[1024], 這只能操作byte的長度,byte.length, 當存儲一些字節, 想清楚地知道里面占了多少個字節, 是無法做到的. 其已經被封裝在最底層了. 因此, 我們去操作IO流時, 要操作相對應的數據內存, 就找對應的類, 以下就是IO大家族的分類:

Java中其他多種多樣變化的流均是由它們派生出來的:

      JDK1.4版本開始引入了新I/O類庫,它位于java.nio包中,新I/O類庫利用通道和緩沖區等來提高I/O操作的效率。

      在java.io包中, java.io.InputStream 表示字節輸入流, java.io.OutputStream表示字節輸出流,處于java.io包最頂層。這兩個類均為抽象類,也就是說它們不能被實例化,必須生成子類之后才能實現一定的功能。

1. io流的具體分類

一、按I/O類型來總體分類:

     1. Memory 1)從/向內存數組讀寫數據: CharArrayReader、 CharArrayWriter、ByteArrayInputStream、ByteArrayOutputStream                   2)從/向內存字符串讀寫數據 StringReader、StringWriter、StringBufferInputStream     2.Pipe管道  實現管道的輸入和輸出(進程間通信): PipedReader、PipedWriter、PipedInputStream、PipedOutputStream     3.File 文件流。對文件進行讀、寫操作 :FileReader、FileWriter、FileInputStream、FileOutputStream     4. ObjectSerialization 對象輸入、輸出 :ObjectInputStream、ObjectOutputStream     5.DataConversion數據流 按基本數據類型讀、寫(處理的數據是Java的基本類型(如布爾型,字節,整數和浮點數)):DataInputStream、DataOutputStream     6.PRinting 包含方便的打印方法 :PrintWriter、PrintStream     7.Buffering緩沖  在讀入或寫出時,對數據進行緩存,以減少I/O的次數:BufferedReader、BufferedWriter、BufferedInputStream、BufferedOutputStream     8.Filtering 濾流,在數據進行讀或寫時進行過濾:FilterReader、FilterWriter、FilterInputStream、FilterOutputStream過     9.Concatenation合并輸入 把多個輸入流連接成一個輸入流 :SequenceInputStream     10.Counting計數  在讀入數據時對行記數 :LineNumberReader、LineNumberInputStream    11.Peeking Ahead 通過緩存機制,進行預讀 :PushbackReader、PushbackInputStream    12.Converting between Bytes and Characters 按照一定的編碼/解碼標準將字節流轉換為字符流,或進行反向轉換(Stream到Reader,Writer的轉換類):InputStreamReader、OutputStreamWriter

、按數據來源(去向)分類: 1、File(文件): FileInputStream, FileOutputStream, FileReader, FileWriter 2、byte[]:ByteArrayInputStream, ByteArrayOutputStream 3、Char[]: CharArrayReader, CharArrayWriter 4、String: StringBufferInputStream, StringReader, StringWriter 5、網絡數據流:InputStream, OutputStream, Reader, Writer 

..............................................................................................................................................................................................................

因此, 實現獲取文件的字節方式如下: 

public void copy() throws IOException{		byte[] buf = new byte[1024];		InputStream in = new FileInputStream("d:/360/female.jpg");		int length = 0;		ByteArrayOutputStream output = new ByteArrayOutputStream();		while((length = in.read(buf)) != -1 ){			output.write(buf, 0, length);		}		System.out.println(output.toByteArray().length);	}

參考鏈接:  http://blog.csdn.net/hguisu/article/details/7418161


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平南县| 涞源县| 海林市| 井冈山市| 长沙县| 尼玛县| 武强县| 云霄县| 黑水县| 繁昌县| 云安县| 泾源县| 海兴县| 年辖:市辖区| 治多县| 平舆县| 临城县| 荔浦县| 宁夏| 班戈县| 沁源县| 策勒县| 平塘县| 稷山县| 莒南县| 勐海县| 嘉义县| 山东省| 唐海县| 双辽市| 瓮安县| 吉安市| 博兴县| 翁牛特旗| 宝丰县| 哈尔滨市| 拉萨市| 嘉禾县| 乐清市| 平潭县| 高平市|