您的位置:首页 > 编程语言 > Java开发

java的BytearrayInputStream和BytearrayOutputStream的讲解

2012-07-22 08:03 330 查看
import java.io.ByteArrayInputStream;

import java.io.ByteArrayOutputStream;

import java.io.InputStream;

import java.io.OutputStream;

public class ByteArrayMemoryTest {

public static void main(String[] args) {

//这是建立内存缓存的读写流

// ByteArrayInputStream inputStream = new ByteArrayInputStream("i love you".getBytes());

// ByteArrayOutputStream outputStream = new ByteArrayOutputStream();

// transform(inputStream, outputStream);

//System.in和System.out是键盘输入流和键盘输出流

transform(System.in, System.out);

//这是打印出内存写入流中的数据

// System.out.println(new String(outputStream.toByteArray()));

}

public static void transform(InputStream in, OutputStream out)

{

int ch = 0;

try {

//这是不断的从读入流中读出数据,并不断的写入输出流中,in.read()这是读取一个字节数据,返回的值就是这个字节数据的值

while((ch = in.read()) != -1)

{

int chUpper = Character.toUpperCase(ch);

//这是往内存写入流中写入一个整形数据,就算你写入一个字节数据,也会被转换成一个整形数据

out.write(chUpper);

}

} catch (Exception e) {

e.printStackTrace();

}

}

}

//附录

ByteArrayInputStream
包含一个内部缓冲区,该缓冲区存储从流中读取的字节。内部计数器跟踪
read
方法要提供的下一个字节。

关闭 ByteArrayInputStream 无效。此类中的方法在关闭此流后仍可被调用,而不会产生任何 IOException。

此类实现了一个输出流,其中的数据被写入一个字节数组。缓冲区会随着数据的不断写入而自动增长。可使用
toByteArray()
toString()
检索数据。

关闭 ByteArrayOutputStream 无效。在关闭此流后且没有生成 IOException 时,可以调用此类中的该方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: