利用LineNumberReader来查看一个文件——《Thinking in Java》随笔030

 1 //: TestLineNumber.java
 2 package c10;
 3 
 4 import java.io.FileInputStream;
 5 import java.io.InputStreamReader;
 6 import java.io.LineNumberReader;
 7 
 8 /**
 9 *    @time:         上午11:05:58
10 *    @date:         2017年4月30日
11 *    @auther:    skyfffire
12 *    @version:    v0.1
13 */
14 public class TestLineNumber {
15     public static void main(String[] args) {
16         String path = "C:\Program Files (x86)\Dev-Cpp\copying.txt";
17         
18         try {
19             LineNumberReader lnr = new LineNumberReader(
20                     new InputStreamReader(new FileInputStream(path), "UTF-8"));
21             
22             String line = null;
23             
24             while ((line = lnr.readLine()) != null) {
25                 System.out.format("%-5d|%s
", lnr.getLineNumber(), line);
26             }
27             
28             // 养成好习惯
29             lnr.close();
30         } catch (Exception e) {
31             e.printStackTrace();
32         }
33     }
34 }
35 
36 ///:~

1.不知道是哪个版本开始,废除了原本的LineNumberInputStream, 转而修改为了LineNumberReader;

2.InputStreamReader接受的是一个InputStream,因为FileInputStream为InputStream的SubClass,理所当然可以上诉造型为InputStream。

原文地址:https://www.cnblogs.com/skyfffire/p/6789074.html