国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

用LineNumberReader 提供更好的出錯消息

2019-11-18 13:26:23
字體:
來源:轉載
供稿:網友

  開發人員經常會隨手寫一些類來讀入一個簡單的配置文件,或者用BufferedReader一行一行地讀入特定格式的數據。這些隨手寫成的解析器往往會提供基本的出錯報告,但有時候它們會很難記錄下出錯的行號。幸運的是,java的java.io.LineNumberReader類提供了行號的記錄而不需做任何額外的工作。
  java.io.LineNumberReader類是java.io.BufferedReader類的擴展,它封裝了處理行號的額外能力。假設我們有一個簡單的解析器,它的規則是:每一行都必須以“#”開頭。我們來示范一下LineNumberReader的用法:
  
  public void parseFile(Reader reader) throws IOException {
   LineNumberReader in = new LineNumberReader(reader);
   String line = "";
   while( (line = in.readLine( )) != null ) {
   if(line.startsWith("#")) {
   // 處理這一行
   ...
   } else {
   throw new IOException("第" + in.getLineNumber( ) + "行丟了#號");
   }
   }
   in.flush( );
   in.close( );
  } 行號0的意味著我們還沒開始讀入。假如在一個程序中我們每次讀入一行,并輸出該行和它的行號,行號將從1開始。
  
  LineNumberReader中有一個setLineNumber(int)方法,但它僅僅是個裝飾物。例如把行號設成42并不會轉到第42行;它只是簡單地把當前行的行號設成42。下一行的行號就是43了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 邹城市| 闽清县| 邵东县| 柳州市| 历史| 桐梓县| 芒康县| 秦安县| 托克逊县| 浦东新区| 内丘县| 肇州县| 上虞市| 泰和县| 兰西县| 乐亭县| 开远市| 长垣县| 绥棱县| 翁源县| 抚顺市| 福泉市| 桦南县| 怀远县| 长沙县| 加查县| 夏河县| 峨眉山市| 涞源县| 山阴县| 察雅县| 清丰县| 张家口市| 望谟县| 卫辉市| 东城区| 星子县| 潢川县| 勐海县| 大英县| 若羌县|