java之一次读取一个字节数组

package cn.itcast_02;

import java.io.FileInputStream;
import java.io.IOException;

/*
 * 
 * 一次读取一个字节数组
 * int read(byte[] b)
 * 返回值其实 实际读取的字节个数
 * 
 */
public class 一次读取一个字节数组 {
     

	public static void main(String[] args) throws IOException {
     
		// 创建字节输入流对象
		FileInputStream fis = new FileInputStream("fis.txt");
		
//		//读取数据
//		//定义一个字节数组
//		//第一次读取
//		byte[] bys = new byte[5];
//		int len = fis.read(bys);
//		//System.out.println(len);
//		//System.out.println(new String(bys));
//		System.out.print(new String(bys , 0 , len));
//		
//		//第二次读取
//		len = fis.read(bys);
//		//System.out.println(len);
//		//System.out.println(new String(bys));
//		System.out.print(new String(bys , 0 , len));
//		
//		//第三次读取
//		len = fis.read(bys);
//		//System.out.println(len);
//		//System.out.println(new String(bys));
//		System.out.print(new String(bys , 0 , len));
//		
//		//第四次读取
//		len = fis.read(bys);
//		//System.out.println(len);
//		//System.out.println(new String(bys));
//		System.out.print(new String(bys , 0 , len));
//		//如果读取到的实际长度是-1,就说明没有数据了
//		
		//用循环改进
//		byte[] by = new byte[115];//字节数组默认值是0
//		int len = 0;
//		while((len=fis.read(by)) != -1) {
     
//			System.out.print(new String(by ,0,len));
//			//System.out.print(new String(by));
//		}
		
		//最终代码
		//数组的长度一般是1024或者是1024的整数倍
		//因为1024字节的数据=1K
		byte[] by = new byte[1024];
		int len = 0;
		while((len = fis.read(by)) != -1) {
     
		System.out.print(new String(by , 0 , len));
		}
		//释放资源
		fis.close();
	}
}

你可能感兴趣的:(字节流,java)