ByteArrayOutputStream及其在IO中的应用

简介:

 

一、基本概念

在创建ByteArrayOutputStream类实例时,内存中会创建一个byte数组类型的缓冲区,缓冲区会随着数据的不断写入而自动增长。

可使用toByteArray()和toString()获取数据。

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

 

二、例子

	/**
	 * 读取文件内容
	 * 
	 * @param filename 文件名
	 * @return
	 */
	public String read(String filename) throws Exception
	{
		FileInputStream fis = new.FileInputStream(filename); 
		ByteArrayOutputStream outStream = new ByteArrayOutputStream(); 
		byte[] buffer = new byte[1024];
		int len = 0;
		// 将内容读到buffer中,读到末尾为-1
		while ((len = fis.read(buffer)) != -1)
		{
			// 本例子将每次读到字节数组(buffer变量)内容写到内存缓冲区中,起到保存每次内容的作用
			outStream.write(buffer, 0, len);
		}
		byte[] data = outStream.toByteArray(); // 取内存中保存的数据
		fis.close();
		String result = new String(data, "UTF-8");
		return result;
	}

 

目录
相关文章
|
8月前
Io转换流
Io转换流
32 0
|
10月前
|
Java API
|
11月前
|
XML 存储 SQL
3. IO
3. IO
84 0
|
JavaScript 前端开发 PHP
PHPSocket.IO 是什么?
PHPSocket.IO 是什么?
170 0
|
缓存 Java
IO和NIO
IO和NIO
106 0
|
存储 缓存 Java
IO总结
IO总结
138 0