一、代码及其笔记
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();
}
}
二、运行结果