当前位置导航:炫浪网>>网络学院>>编程开发>>JAVA教程>>Java入门

Java编程那些事儿87——文件操作之读取文件

    Java编程那些事儿系列文章(全集目录)

    11.3.1.3 读取文件

    虽然前面介绍了流的概念,但是这个概念对于初学者来说,还是比较抽象的,下面以实际的读取文件为例子,介绍流的概念,以及输入流的基本使用。

    按照前面介绍的知识,将文件中的数据读入程序,是将程序外部的数据传入程序中,应该使用输入流——InputStream或Reader.而由于读取的是特定的数据源——文件,则可以使用输入对应的子类FileInputStream或FileReader实现。

    在实际书写代码时,需要首先熟悉读取文件在程序中实现的过程。在Java语言的IO编程中,读取文件是分两个步骤:1、将文件中的数据转换为流,2、读取流内部的数据。其中第一个步骤由系统完成,只需要创建对应的流对象即可,对象创建完成以后步骤1就完成了,第二个步骤使用输入流对象中的read方法即可实现了。

    使用输入流进行编程时,代码一般分为3个部分:1、创建流对象,2、读取流对象内部的数据,3、关闭流对象。下面以读取文件的代码示例:

         import java.io.*;

/**

 * 使用FileInputStream读取文件

 */

public class ReadFile1 {

         public static void main(String[] args) {

                   //声明流对象

                   FileInputStream fis = null;                 

                   try{

                            //创建流对象

                            fis = new FileInputStream("e:\\a.txt");

                            //读取数据,并将读取到的数据存储到数组中

                            byte[] data = new byte[1024]; //数据存储的数组

                            int i = 0;  //当前下标

                            //读取流中的第一个字节数据

                            int n = fis.read();

                            //依次读取后续的数据

                            while(n != -1){ //未到达流的末尾

                                     //将有效数据存储到数组中

                                     data[i] = (byte)n;

                                     //下标增加

                                     i++;

                                     //读取下一个字节的数据

                                      n = fis.read();

                            }

                           

                            //解析数据

                            String s = new String(data,0,i);

                            //输出字符串

                            System.out.println(s);

                   }catch(Exception e){

                            e.printStackTrace();

                   }finally{

                            try{

                                     //关闭流,释放资源

                                     fis.close();

                            }catch(Exception e){}

                   }

         }

}

    在该示例代码中,首先创建一个FileInputStream类型的对象fis:

    fis = new FileInputStream("e:\\a.txt");

    这样建立了一个连接到数据源e:\a.txt的流,并将该数据源中的数据转换为流对象fis,以后程序读取数据源中的数据,只需要从流对象fis中读取即可。

共2页 首页 上一页 1 2 下一页 尾页 跳转到
相关内容
赞助商链接