background image

输入流

read()read(byte[] b)read(byte[] b,int off,int len)

一、

Java 当中 InputStream 中 read()read(byte[] b)read(byte[] b,int off,int len)

时今,程序的开发当中一直在用文件的读写,但是对于

java 当中输入流以及输出流

只是会用不理解,一直以来想搞清楚其,但是一直没有执行(悲剧),今天早上抽出半
个小时通过

JDK API1.6.0 中文版帮助逐步的了解下字节输入流读取字节的方法;

下面就说说

InputStream 当中 read()、read(byte[] b)、read(byte[] b、int off 、int len)

的使用以及区别

(以 txt 文本的复制为例通过代码以及注释说明):

read()方法

public static void inputStreamRead1() {

try{

//构造一个输入流对象(读数据)test.txt 文本的内容为:我爱你中国
InputStream is = new FileInputStream(“E:\\test.txt”);
//构造一个输出流对象(写数据)
OutputStream os = new FileOutputStream(“E:\\ctest.txt”);

int len;//表示读入的数据(十进制的形式表示)

//FileInputStream 可以使用 read()方法一次读取一个字节,读入的数据以 int

类型返回

,所以,你要是使用 System.out.println()将数据显示出来的时候是以 10

进制的方式显示

while((len = is.read())!=-1){

System.out.println(“len=”+len);
os.write(len);

}

}catch(Exception e){

e.printStackTrace();

}

}
运行以上程序,则控制台的输出为: