改行コードやタブ(スペース・ブランク)を変換するコアタスク。
(org.apache.tools.ant.taskdefs.FixCRLF extends
MatchingTask)
Ant1.7以降ではファイルの文字コード(エンコード)も変換できる。
属性 | 説明 | バージョン | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
srcdir | 変換するディレクトリー。 | |||||||||||||
file | 変換するファイル。1ファイルだけ変換したい場合に使用できる。(srcdirかfileが必須) | Ant1.7以降 | ||||||||||||
destdir | 変換したファイルを別の場所に書き出したい場合に指定する。 destdirの指定が無い場合、変換元ファイルに上書きされる。 |
|||||||||||||
eol | どういう改行コードに変換するかの指定。(eol=end of line)
|
|||||||||||||
eof | DOSのテキストファイルのファイル終端文字(EOF(1a))を変換するかどうかの指定。(eof=end of file)
|
|||||||||||||
fixlast | trueの場合、ファイルの最終行に改行コードが無いと改行コードを付加する。 デフォルトはtrue。 |
Ant1.6.1以降 | ||||||||||||
tab tablength |
タブ文字(TAB(09))とスペース(SPC(20))を変換するかどうかの指定。 tablengthは2〜80の範囲で指定する。デフォルトは8。
|
|||||||||||||
encoding | 入力ファイルの文字コード。例:encoding="UTF-8" デフォルトはJavaVMのデフォルトの文字コード(システムプロパティー file.encoding )。 |
|||||||||||||
outputencoding | 出力ファイルの文字コード。 デフォルトはencodingと同じ。 |
Ant1.7以降 | ||||||||||||
preservelastmodified | trueの場合、変換先ファイルの日付を更新しない。 デフォルトはfalse。 |
Ant1.6.3以降 |
タグ(使用例) | 説明 |
---|---|
<include name="**/*.sh"/> | 変換するファイルを指定する。 |
<exclude name="**/*.txt"/> | 変換しないファイルを指定する。 |
<fixcrlf srcdir="${dir}" eol="lf" eof="remove" />
<fixcrlf file="${file}" eol="lf" eof="remove" />
<fixcrlf srcdir="${srcdir}" destdir="${todir}" eol="lf" eof="remove" />
<fixcrlf srcdir="${srcdir}" destdir="${todir}" eol="lf" eof="remove"> <include name="**/*.sh" /> <include name="**/*.conf" /> </fixcrlf>
<fixcrlf srcdir="${dir}" eol="lf" eof="remove" encoding="UTF-8" />
※Windows上のAntでUTF-8のファイルをencoding指定なしで読み込むと、ばっちり文字化けする。
(encoding指定をしないと、Windows上のJavaVMのテキストファイル読み書きのデフォルトはシフトJISになる為、UTF-8のファイルをシフトJISとして読み込んで変になる)
<fixcrlf srcdir="${srcdir}" destdir="${todir}" encoding="MS932" outputencoding="EUC_JP"> <include name="**/*.txt" /> </fixcrlf>