java学习-内存流

内存操作流是以内存作为操作终端实现的IO数据处理,与文件操作不同的地方在于内存操作流不会进行磁盘数据操作,避免文件操作时所留下的磁盘痕迹

内存流种类
类名作用
ByteArrayInputStream

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

关闭ByteArrayInputStream没有任何效果。 在关闭流之后,可以调用此类中的方法,而不生成IOException 。

ByteArrayOutputStream

        实现了将数据写入字节数组的输出流。 当数据写入缓冲区时,缓冲区会自动增长。 数据可以使用toByteArray()toString()

关闭ByteArrayOutputStream没有任何效果。 该流中的方法可以在流关闭后调用,而不生成IOException 。

CharArrayWriter

实现了可以用作Writer的字符缓冲区。 当数据写入流时,缓冲区会自动增长。 可以使用toCharArray()和toString()检索数据。

CharArraReader

实现了一个字符缓冲区,可以用作字符输入流

package one;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;

public class One {

	public static void main(String[] args) {
		String word = "hello,gec.com";
		ByteArrayInputStream bis = new ByteArrayInputStream(word.getBytes());
		
		ByteArrayOutputStream bos = new ByteArrayOutputStream();
		
		//把字符串转换成大写
		int len = 0;
		while((len=bis.read())!=-1) { //读取
			int str = Character.toUpperCase(len); //转化为大写
			bos.write(str); //写出去,写的目的地就是内置的缓冲区当中
		}
		
		//System.out.println(bos); 直接把输出流对象输出
		byte[] array = bos.toByteArray();
		System.out.println(new String(array)); //把byte数组转换成一个字符串String类型
	
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值