File 对象的相关操作和访问(3)

来源:互联网 发布:鄂维南 大数据 编辑:程序博客网 时间:2024/06/07 02:10

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异常
  }
  
  
  
 }

}