当前位置: 首页 > 工具软件 > OIOSAML.JAVA > 使用案例 >

java.io~

莘康裕
2023-12-01

来来来,继续~开始java IO系统了。我们的程序从输入流重读取数据,向输出流中写入数据。

        如果数据流中的最小数据单位是字节,那么这种流叫做字节流,java.io.InputStream叫做字节输入流,java.io.OutputStream叫做字节输出流;如果数据流中的最小数据单位是字符,那么这种流佳作字符流,java.io.Reader叫做字符输入流,java.io.Writer表示字符输出流。

字节输入流和字节输出流都是抽象类,他们并不能被实例化。

下面先来介绍InputStream类:

InputStream中提供了一系列读取数据的方法,下面我来写几个比较常用的:

int read():从输入流读取一个字节,并且转换成int类型返回。如果遇到输入流的结尾,则返回-1.

int read(byte[] b):从输入流中读取若干字节,把他们保存到参数b指定的字节数组中。返回的整数表示读取的字节数。如果遇到输入流的结尾,则返回-1。

read(byte[]b,int off,int len):从输入流读取若干个字节,把他们保存到参数b指定的字节数组中,off表示在字节数组中开始保存数据的起始下标,参数len表示读取的字节数目。返回的整数表示实际读取的字节数。如果遇到输入流的结尾,则返回-1.

void close():关闭输入流。InputStream类中本身的close方法没有任何操作牡丹石他的一些子类覆盖了close方法。

int available():返回可以从输入流中读取的字节数目


贴段字节数组输入流的代码(ByteArrayInputStream类)

package thread1;

import java.io.ByteArrayInputStream;
import java.io.IOException;

public class filetest {
public static void main(String[] args) throws IOException{
	byte [] a = new byte[]{1,-5,26,75,29,-9};
	ByteArrayInputStream in = new ByteArrayInputStream(a,1,4);
int data;
	while((data=in.read())!=-1)
	{
		System.out.print(data+" ");
	}
	in.close();
}
}
 在此要注意的是,此处的byte转换到int类型的方法和强制类型转换中的方法是不一样的。

所以此处的结果为:251 26 75 29 


 类似资料: