Java_io_数组流

1.用于操作字节数组的流对象
   ByteArrayInputStream :在构造的时候,需要接收数据源,它是一个字节数组
   ByteArrayOutputStream: 在构造的时候,不用定义数据目的,因为该对象中已经内部封装了可变长度的字节数组。
   因为这两个流对象都在内存中操作数组,并没有使用系统资源。所以,不用进行close关闭。
2.用于操作字符数组的流对象
   CharArrayReader : 接收字符数组
   CharArrayWriter: 
3.重要函数:
   size() , 返回缓冲区的当前大小。 
   toByteArray() ,创建一个新分配的 数组。 
4.总结

     用流的读写思想操作数组读写查询方便,效率高!!!

5.代码实现
import java.io.*;
class ByteArrayStream 
{
	public static void main(String[] args) 
	{
		ByteArrayInputStream bis = new ByteArrayInputStream("ABCDEFD".getBytes());
		ByteArrayOutputStream bos = new ByteArrayOutputStream();
		int by = 0;
		while((by=bis.read())!=-1)
		{
			bos.write(by);
		}
		System.out.println(bos.toString());
		bos.writeTo(new FileOutputStream("a.txt"));//还可以使用writeTo()方法,一次性写入文本中去

	}
}
/*
DataInputStream与DataOutputStream
可以用于操作基本数据类型的数据的流对象。
Strawberry2013-5-5
*/
import java.io.*;
class DataStreamDemo 
{
	public static void main(String[] args) throws IOException
	{
		writeData();
		readData();
	}
	public static void readData()throws IOException
	{
		DataInputStream dis = new DataInputStream(new FileInputStream("data.txt"));

		int num = dis.readInt();	//	读取与写入的相对应~~~
		boolean b = dis.readBoolean();
		double d = dis.readDouble();

		System.out.println("num="+num);
		System.out.println("b="+b);
		System.out.println("d="+d);

		dis.close();
	}
	public static void writeData()throws IOException
	{
		DataOutputStream dos = new DataOutputStream(new FileOutputStream("data.txt"));

		dos.writeInt(234);
		dos.writeBoolean(true);
		dos.writeDouble(9887.543);
		dos.close();
		
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值