다크호스 프로그래머IO 스트림배열 흐름 대상 ByteArrayInputStream/ByteArrayOutputStream 및 기본 데이터 클래스 DataInputStream 및 DataOutputStream...

1777 단어
-------android 교육,java 교육,당신과 교류하기를 기대합니다!----------
1).바이트 그룹을 조작하는 데 사용되는 흐름 대상 ByteArrayInputStream: 구성할 때 데이터 원본을 받아야 합니다. 바이트 그룹입니다.ByteArray OutputStream: 구성할 때 데이터 목적을 정의할 필요가 없습니다. 이 대상에는 가변 길이의 바이트 그룹이 내부적으로 봉인되어 있기 때문입니다.이 두 흐름 대상은 모두 메모리에서 그룹을 조작하고 시스템 자원을 사용하지 않기 때문이다.따라서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();
		
	}
}

좋은 웹페이지 즐겨찾기