欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

java文件操作,

来源: javaer 分享于  点击 45909 次 点评:173

java文件操作,


输入流是将数据从文件,标准输入或其他外部输入设备中加载到内存,输出流的作用则刚好相反,即将在内存中的数据保存在文件中,输出流在Java语言中对用于抽象类Java.io.OutputStream及其子类,胡如流对应于抽象类Java.io.InputStream抽象类Java.io.OutputStream和Java.io.OutputStream定义了输入与输出的基本操作
1 InputStream和FileInputStream
因为Java.io.InputStream是抽象类,所以不能通过“new InputStream()”的方式构造Java.io.InputStream实例对象,但是它定义了输入流的基本操作。可以通过构造抽象类Java.io.InputStream的子类的实力对象获得Java.io.InputStream类型的实例变量 创建类Java.io.InputStream的实例对象可以通过类FileInputStream的构造方法
public FileInputStream(String name) throws FileNotFindException
其中参数name指定文件名
对文件内容进行操作的基本步骤为
(1)创建该文件所对应的输入/输出流或读写器的实例对象,以或得相关的系统资源
(2)对文件进行读写操作
(3)最后调用close方法,关闭文件,以释、释放所占有的系统资源
2 OutputStream和FileOutputStream
抽象类java.io.Outputstream是用来处理输出流的类。它定义了输出流的各种基本操作
System.Out是java.io.Outputstream类型的变量,对应于标准输出主要用来在控制台窗口中输出信息
抽象类java.io.Outputstream的成员方法
public void write(byte[] b) throws IOException
将字节数组b的各个字节写入到当前文件中
public void write(int b ) throws IOException
将有参数低8位组成的一个字节写入到当前文件中。在调用抽象类的write 方法之后,常常会调用抽象类的强制输出成员方法 public void flush() throws IOException
这往往是很有必要的,因为当前计算机系统为了提高运行效率,常常采用缓存机制。这样在条用方法write之后,常常不会讲数据直接输出或写入文件而是暂时保存在缓存中,当数据积累到了一定程度时,才会真正的往外输出数据。调用成员方法是为了强制立即输出数据。

importjava.io.BufferedReader;
importjava.io.FileReader;
importjava.io.IOException;
  
publicclassReadFile{
  
  publicstaticvoidmain(String[]args){
Stringpath="c:/1.txt";   //定义文件路径
Stringcontent="";      //content保存文件内容,
    BufferedReaderreader=null; //定义BufferedReader
  
    try{
      reader=newBufferedReader(newFileReader(path));
  
      //按行读取文件并加入到content中。
//当readLine方法返回null时表示文件读取完毕。
      Stringline;
      while((line=reader.readLine())!=null){
        content+=line+"n";
      }
    }catch(IOExceptione){
      e.printStackTrace();
    }finally{
  
      //最后要在finally中将reader对象关闭
      if(reader!=null){
        try{
          reader.close();
        }catch(IOExceptione){
          e.printStackTrace();
        }
      }
    }
  
    System.out.println("文件内容:"+content);
  }
}

  我们把读取文件的那一段提取出来:

publicclassReadFile{
  
  publicstaticvoidmain(String[]args){
Stringpath="c:/1.txt";   //定义文件路径
  
    try{
      Stringcontent=readFile(path);
      System.out.println("文件内容:"+content);
    }catch(IOExceptione){
      e.printStackTrace();
    }
  }
  
  /**
  *读取指定的文本文件,并返回内容
  *
  *@parampath文件路径
  *@return文件内容
  *@throwsIOException如果文件不存在、打开失败或读取失败
  */
  privatestaticStringreadFile(Stringpath)throwsIOException{
    Stringcontent="";
    BufferedReaderreader=null;
    try{
      reader=newBufferedReader(newFileReader(path));
      Stringline;
      while((line=reader.readLine())!=null){
        content+=line+"n";
      }
    }finally{
      if(reader!=null){
        try{
          reader.close();
        }catch(IOExceptione){
          //关闭Reader出现的异常一般不需要处理。
        }
      }
    }
    returncontent;
  }
}

相关文章

    暂无相关文章
相关栏目:

用户点评