内存输出流之黑马面试题

内存输出流之黑马面试题

  • 定义一个文件输入流,调用read(byte[] b)方法,将a.txt文件中的内容打印出来(byte数组大小限制为5)

      FileInputStream fis = new FileInputStream("a.txt");		//创建字节输入流,关联a.txt
      ByteArrayOutputStream baos = new ByteArrayOutputStream();	//创建内存输出流
      byte[] arr = new byte[5];									//创建字节数组,大小为5
      int len;
      while((len = fis.read(arr)) != -1) {						//将文件上的数据读到字节数组中
      	baos.write(arr, 0, len);								//将字节数组的数据写到内存缓冲区中
      }
      System.out.println(baos);									//将内存缓冲区的内容转换为字符串打印
      fis.close();
    
package com.heima.test;

import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.IOException;

public class Test01 {

	/**
	 * @param args
	 * 定义一个文件输入流,调用read(byte[] b)方法,将a.txt文件中的内容打印出来(byte数组大小限制为5)
	 * 
	 * 分析:
	 * 1.read(byte[] b)是字节输入流的方法,创建FileInputStream,关联a.txt
	 * 2.创建内存输出流,将读到的数据写到内存输出流中
	 * 3.创建字节数组,长度为5
	 * 4.将内存输出流的数据全部转换为字符串打印
	 * 5.关闭输入流
	 * @throws IOException 
	 */
	public static void main(String[] args) throws IOException {
		//1.read(byte[] b)是字节输入流的方法,创建FileInputStream,关联a.txt
		FileInputStream fis = new FileInputStream("a.txt");
		//2.创建内存输出流,将读到的数据写到内存输出流中
		ByteArrayOutputStream baos = new ByteArrayOutputStream();
		//3.创建字节数组,长度为5
		byte[] arr = new byte[5];
		int len;
		
		while((len = fis.read(arr)) != -1) {
			baos.write(arr, 0, len);
			//System.out.println(new String(arr,0,len));
		}
		//4.将内存输出流的数据全部转换为字符串打印
		System.out.println(baos); 					//即使没有调用,底层也会默认帮我们调用toString()方法
		//5.关闭输入流
		fis.close();
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

左绍骏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值