File Input Stream类
File Input Stream类也需要由File对象来方便其对应于指定的磁盘文件。其构造方法如下:
public FileInputStream(File file):由file对象创建一个输入流
public FileInputStream(String filename):由filename所表示的对象创建一个输入流
int read():从流中读取一个字节
int read(byte[] buffer):从流中读取足够的字节到字节数组buffer中,直到流的结尾
int read(byte[] buffer,int offset,int length):从流中读取一定的字节到数组buffer从offset开始的数组缓冲区中。
long skip(long value) 从流中读取并抛弃由long型参数指定的字节
int available():表示当前流中可以有多少字节而
void close()::关闭输入流
下面是一个例子程序,实现了将键盘所输入的值存储在文件中。
import java.io.*;
public class TestInputOutput {
public static void main(String args[]){
char ch;
int i;
File newDir=new File("d://java//test2");//创建目录对象
if(!newDir.exists())newDir.mkdir();//如果不存在此目录,则自动创建此目录
File newFile=new File(newDir,"newTest.txt");//在此目录下创建一个文件
try {
FileOutputStream outs=new FileOutputStream(newFile);//创建输出流对象
System.out.println("input characters for file ended with #:");
while((ch=(char)System.in.read())!='#')//从键盘读入
outs.write(ch);//写入文件
outs.close();
System.out.println("input finished");
System.out.println("");
System.out.println("now read file and output");
FileInputStream ins=new FileInputStream(newFile);//建立输入流
while((i=ins.read())!=-1)System.out.print((char)i);
ins.close();
}
catch(FileNotFoundException e)
{
System.out.println(e);//抛出找不到文件的异常
}
catch(IOException e)
{
System.out.println(e);//抛出IO异常
}
}
}