【IO】FileInputStream中的方法及其演示

一、代码及其笔记

package ioDemo.inputStream;

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

import org.junit.Test;

/**
 * 一、类FileInputStream。<br>
 * 二、java.lang.Object->java.io.FileInputStream。<br>
 * 三、此类实现的接口:Closeable。<br>
 * 四、直接子类:无<br>
 * 五、public  class FileInputStream extends InputStream<br>
 * 六、(1)从文件系统中的某个文件中获得输入字节;(2)用户读取诸如图像数据之类的原始字节流。<br>
 * 七、构造方法:
 * 	(1)FileInputStream(File file):打开一个到实际文件的连接来创建FileInputStream,通过file指定。<br>
 * 	(2)FileInputStream(String name):打开一个到实际文件的连接来创建FileInputStream,通过name路径指定。<br>
 * 	(3)FileInputStream(FileDescrioptor fdObj):通过使用文件描述符 fdObj 创建一个 FileInputStream,该文件描述符表示到文件系统中某个实际文件的现有连接。<br>
 * 
 * 
 * 八、成员方法:<br>
 *      (1) int avilable() :返回次输入流下一个方法调用可以不受阻塞地从此输入流读取或跳过的估计字节数。<br>
 * 	(2) int read():从输入流中读取数据的下一个字节。<br>
 * 	(3) int read(byte[] b):从输入流中读取一定数量的字节,并将其存储在缓冲区数组b中。<br>
 * 	(4) int read(byte[] b,int off,int len):将输入流中最多len个数据字节读入byte数组b中。<br>
 * 	(5) void close():关流<br>
 * 	6)long skip(long n):从输入流中跳过并丢弃n个字节的数据。<br>
 * 
 *@author <a"283505495@qq.com">lxd</a>
 *@version 1.0 2017-3-18 下午12:38:56
 *@fileName FileInputStream.java
 */

public class FileInputStreamDemo {
	@Test
	/**
	 * 测试skip(),avilable方法
	 */
	public void demo1 () throws IOException{
			FileInputStream fin=new FileInputStream("file_1.txt");
			int avi=fin.available();//此文件总共有available个字符
			System.out.println("available的值为:"+avi);
			System.out.println("-----------read----------------");
			int n1=fin.read();
			System.out.println((char)n1);

			System.out.println("-----------read(b,off,len)----------------");
			byte[] b=new byte[512];
			int n2=fin.read(b, 0, avi-10);
			for(int i=0;i<n2;i++){
				System.out.print((char)b[i]);
			}
			System.out.println();
			
			System.out.println("-----------read(b)----------------");
			byte[] b2=new byte[512];
			int n=fin.read(b2);
			for(int i=0;i<n;i++){
				System.out.print((char)b2[i]);
			}
			System.out.println();
	}
}

二、运行结果




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值