Java IO流學習總結六:ByteArrayInputStream、ByteArrayOutputStream 轉載請標明出處:http://blog.csdn.net/zhaoyanjun6/article/details/54946762 本文出自 "【趙彥軍的博客】" 類的繼承關係 可以將字 ...
Java IO流學習總結六:ByteArrayInputStream、ByteArrayOutputStream
轉載請標明出處:http://blog.csdn.net/zhaoyanjun6/article/details/54946762
本文出自【趙彥軍的博客】
類的繼承關係
InputStream
|__ ByteArrayInputStream
OutputStream
|__ ByteArrayOutputStream
ByteArrayInputStream
可以將位元組數組轉化為輸入流 。
ByteArrayOutputStream
可以捕獲記憶體緩衝區的數據,轉換成位元組數組。
ByteArrayInputStream
- 構造函數
public ByteArrayInputStream(byte buf[])
public ByteArrayInputStream(byte buf[], int offset, int length)
- 一般方法
void close() // 關閉該流並釋放與之關聯的所有資源。
String getEncoding() //返回此流使用的字元編碼的名稱。
int read() //讀取單個字元。
int read(char[] cbuf, int offset, int length) //將字元讀入數組中的某一部分。
boolean ready() //判斷此流是否已經準備好用於讀取。
ByteArrayOutputStream
- 構造函數
public ByteArrayOutputStream()
public ByteArrayOutputStream(int size)
- 一般方法
void write(int b)
void write(byte b[], int off, int len)
void writeTo(OutputStream out)
byte toByteArray()[]
void close()
練習1
位元組流ByteArrayInputStream
的讀寫過程測試
package com.app;
import java.io.ByteArrayInputStream;
import java.io.IOException;
public class A7 {
public static void main(String[] args) {
String mes = "hello,world" ;
byte[] b = mes.getBytes() ;
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream( b ) ;
int result = -1 ;
while( ( result = byteArrayInputStream.read() ) != -1){
System.out.println( (char) result );
}
try {
byteArrayInputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
效果:
練習2
將ByteArrayOutputStream
讀出的位元組流用FileOutputStream
寫入文件
package com.app;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class A6 {
public static void main(String[] args) {
String mes = "你好,world" ;
byte[] b = mes.getBytes() ;
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream() ;
try {
byteArrayOutputStream.write( b );
FileOutputStream fileOutputStream = new FileOutputStream( new File( "F:/123.txt" ) ) ;
byteArrayOutputStream.writeTo( fileOutputStream ) ;
fileOutputStream.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}finally{
try {
byteArrayOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
效果:
個人微信號:zhaoyanjun125
, 歡迎關註