`
strawberry2013
  • 浏览: 18116 次
文章分类
社区版块
存档分类
最新评论

黑马程序员_IO流_数组流对象ByteArrayInputStream/ByteArrayOutputStream及基本数据类DataInputStream与DataOutputStream

 
阅读更多

-------android培训java培训、期待与您交流! ----------


1).用于操作字节数组的流对象
ByteArrayInputStream :在构造的时候,需要接收数据源,它是一个字节数组
ByteArrayOutputStream: 在构造的时候,不用定义数据目的,因为该对象中已经内部封装了可变长度的字节数组。
因为这两个流对象都在内存中操作数组,并没有使用系统资源。所以,不用进行close关闭。

2).用于操作字符数组的流对象
CharArrayReader : 接收字符数组
CharArrayWriter:

重要函数:
size() , 返回缓冲区的当前大小。
toByteArray() ,创建一个新分配的 数组。

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


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();
		
	}
}


分享到:
评论

相关推荐

    【IT十八掌徐培成】Java基础第16天-04.ByteArrayInputStream-ByteArrayOutputStream.zip

    【IT十八掌徐培成】Java基础第16天-04.ByteArrayInputStream-ByteArrayOutputStream.zip

    IO体系.java

    |--DataInputStream/:用于操作基本数据类型数据的对象,应用程序可以使用数据输入流写入稍后有数据输入流读取的数据。 | |--ObjectInputStream/:对象的序列化。用于操作对象的流,将一个具体的对象进行持久化...

    Java之IO流学习总结

    ByteArrayInputStream、StringBufferInputStream、FileInputStream 是三种基本的介质流,它们分别从Byte 数组、StringBuffer、和本地文件中读取数据。PipedInputStream 是从与其它线程共用的管道中读取数据,与Piped...

    IO流各个类的使用方法

    介绍了,下面这些类的具体使用方法,非常详细,值得一看 File FileFilter RandomAccessFile 【字节流】 InputStream OutputStream FileInputStream FileOutputStream DataInputStream DataOutputStream ...

    JDK_API_1_6

    DataInputStream 数据输入流允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型。 DataOutputStream 数据输出流允许应用程序以适当方式将基本 Java 数据类型写入输出流中。 File 文件和目录路径名...

    java72-java-advance.rar

    a) 字符b)字节c)字节数组D)对象 4. 下列流中哪一个使用了缓冲区技术A A.BuffereOutputStream B. FileInputStream C. DataOutputStream D.FileReader 5.下列字节输入流中,哪一个不能够被实例化B A....

    java IO章节的总结

    IO从大的方向上分为字节流和字符流,包括四个抽象类: 1、输入:Reader, InputStream类型的子类(字符,字节) 2、输出:Writer, OutputStream类型的子类(字符,字节) 决定使用哪个类以及它的构造进程的一般...

    ByteArrayInputStream简介和使用_动力节点Java学院整理

    ByteArrayInputStream 是字节数组输入流。它继承于InputStream。 它包含一个内部缓冲区,该缓冲区包含从流中读取的字节;通俗点说,它的内部缓冲区就是一个字节数组,而ByteArrayInputStream本质就是通过字节数组来...

    Java byte数组操纵方式代码实例解析

    字节数组的关键在于它为存储在该部分内存中的每个8位值提供索引(快速),精确的原始访问,并且您可以对...java官方提供了一种操作字节数组的方法——内存流(字节数组流)ByteArrayInputStream、ByteArrayOutputStr

    PhoneBooks

    ByteArrayOutputStream baos = new ByteArrayOutputStream(); DataOutputStream dos = new DataOutputStream(baos); dos.writeUTF(userName); dos.writeUTF(mobilePhone); dos.writeUTF(email); dos.writeUTF...

    详解Java中ByteArray字节数组的输入输出流的用法

    ByteArrayInputStream和ByteArrayOutputStream分别集成自InputStream和OutputStream这两个输入和输出流,这里我们就来详解Java中ByteArray字节数组的输入输出流的用法,需要的朋友可以参考下

    教你彻底明白Java的IO系统

    1. stream代表的是任何有能力产出数据的数据源,或是任何有能力接收数据的接收源。在Java的IO中,所有的stream(包括Input和Out stream)都包括两种类型: 1.1 以字节为导向的stream 以字节为导向的stream,表示以...

    Java使用ByteArrayOutputStream 和 ByteArrayInputStream 避免重复读取配置文件的方法

    主要介绍了Java使用ByteArrayOutputStream 和 ByteArrayInputStream 避免重复读取配置文件的方法,需要的朋友可以参考下

    java经典面试2010集锦100题(不看你后悔)

    B) 在Java的类中可以有三类内容分别是数据的定义、基本输出语句、函数的定义。 C) Java中的封装就是将对象的数据和操作数据的方法相结合,通过方法将对象的数据和实现细节保护起来。 D) Java语言中的多态的含义可以...

    java ZIP 解压缩

    ByteArrayInputStream bais = new ByteArrayInputStream(data); ByteArrayOutputStream baos = new ByteArrayOutputStream(); // 压缩 compress(bais, baos); byte[] output = baos.toByteArray(); ...

    java编写智能合约-简单的用java代码实现智能合约.pdf

    根据获取到的字节流输⼊数组,拆分字节流,拆分为jar包中每个类class对象对应的字节流 // JarInputStream专门⽤来处理jar包流的 JarInputStream jis = new JarInputStream(new ByteArrayInputStream(buffer));...

    深刻理解java io

    1) ByteArrayInputStream:把内存中的一个缓冲区作为InputStream使用 2) StringBufferInputStream:把一个String对象作为InputStream 3) FileInputStream:把一个文件作为InputStream,实现对文件的读取操作 4) ...

    Java程序设计语言期末试题

    1. stream代表的是任何有能力产出数据的数据源,或是任何有能力接收数据的接收源。在Java的IO中,所有的stream(包括Input和Out stream)都包括两种类型: 1.1 以字节为导向的stream 以字节为导向的stream,表示以...

    跟汤老师学Java(第15季):I/O输入输出流

    2.IO流简介 3.流的分类  输入流、输出流  字节流、字符流  节点流、包装流 4.字节流  InputStream:FileInputStream、ByteArrayInputStream、ObjectInputStream  OutputStream:FileOutputStream、...

Global site tag (gtag.js) - Google Analytics