java编程,字符流BufferedReader,读取一个文件。finally,readLine,FileReader

package onelo;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
//java编程,字符流BufferedReader,读取一个文件
/**
 * 1.BufferReader
 *  从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。 
 * 2.在java的的finally首先必须使用在所有catch的最后位置,其次他是必须执行的,
 * 无条件执行的,即使前面的try-catch语句中已经存在异常了,它仍然会执行。
 * 3.使用socket之类的数据流时,要避免使用readLine(),以免为了等待一个换行/回车符而一直阻塞
 * 4.FileReader,用来读取字符文件的便捷类。
 *
 */
public class BufferReaderTest2 {
    public static void main(String[] args) {
        BufferedReader br = null;
        try{
            br = new BufferedReader(new FileReader("D:\\java\\java\\5day\\src\\onelo\\BufferReaderTest.java"));
            String line = null;
            int lineNo = 0;//定义行号
            //readLine()读取一行数据
            //readLine()在数据流发生异常或者另一端被close()掉时,会返回null值。
            while((line = br.readLine())!=null){
                lineNo++;
                System.out.println(lineNo+"\t"+line);
            }
        }catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally{
            try {
                System.out.println("-----读取完毕-----");
                br.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
}

你可能感兴趣的:(Java编程)