public class CommentLineParser
extends java.lang.Object
CommentLineParser.java は、ファイルを行単位に処理して、コメントを除去するクラスです。 1行分の文字列を読み取って、コメント部分を削除した文字列を返します。 ブロックコメントの状態や、コメント除外の状態を管理しています。 オブジェクト作成後、line( String ) メソッドに、ファイルから読み取った1行分の文字列を渡せば、 コメントが除外された形で返されます。 コメントが除去された行は、rTrim しますが、行の削除は行いません。 これは、Grep等で、文字列を発見した場合に、ファイルの行番号がずれるのを防ぐためです。 逆に、Diff等で、複数のコメント行は、1行の空行にしたい場合や、空行自体をなくして 比較したい場合は、戻ってきた行が、空行かどうかで判定して呼び出し元で処理してください。 引数の行文字列が、null の場合は、null を返します。(読み取り行がなくなった場合) 文字列くくり指定 は、例えば、ラインコメント(//) が、文字列指定("//") や、"http://xxxx" などの プログラム本文で使用する場合のエスケープ処理になります。 つまり、文字列くくり指定についても、IN-OUT があり、その範囲内は、コメント判定外になります。 ※ 6.3.1.1 (2015/07/10) コメントセットを、add で、追加していく機能を用意します。 現状では、Java,ORACLE,HTML のコメントを意識せず処理したいので、すべてを 処理することを前提に考えておきます。 ※ 6.4.0.2 (2015/12/11) 行コメントが先頭行のみだったのを修正します。 og:comment タグを除外できるようにします。そのため、 終了タグに、OR 条件を加味する必要があるため、CommentSet クラスを見直します。 可変長配列を使うため、文字列くくり指定を前に持ってきます。
5.7.4.0 (2014/03/07) 新規追加 |
6.3.1.1 (2015/07/10) 内部構造大幅変更 |
コンストラクタと説明 |
---|
CommentLineParser(java.lang.String sufix)
処理するコメントの種類を拡張子で指定するコンストラクターです。
|
修飾子とタイプ | メソッドと説明 |
---|---|
java.lang.String |
line(java.lang.String inLine)
1行分の文字列を読み取って、コメント部分を削除した文字列を返します。
|
static void |
main(java.lang.String[] args)
このクラスの動作確認用の、main メソッドです。
|
public CommentLineParser(java.lang.String sufix)
sufix
- 拡張子6.4.0.2 (2015/12/11) sufix によるコメント処理方法の変更。 |
6.4.1.0 (2016/01/09) comment="***"のコメント処理方法の追加。 |
6.4.1.1 (2016/01/16) sufixを小文字化。 |
6.8.1.7 (2017/10/13) COMMENT ON で始まる行(大文字限定)は、コメントとして扱う |
public java.lang.String line(java.lang.String inLine)
inLine
- 1行の文字列5.7.4.0 (2014/03/07) 新規追加 |
6.3.1.1 (2015/07/10) CommentSet で管理します。 |
public static void main(java.lang.String[] args)
args
- コマンド引数配列6.3.1.0 (2015/06/28) nioを使用すると UTF-8とShuft-JISで、エラーになる。 |
6.5.0.1 (2016/10/21) CharacterCodingException は、OgCharacterException に変換する。 |
Webアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.