@Published(tag="architect") public class FileRecordWriter extends java.lang.Object implements java.io.Closeable
出力形式のフォーマット定義ファイルと出力先ファイルを指定する。 明示的に指定しなかった場合のフォーマット定義ファイルの参照ディレクトリは、 "format"論理ベースパスに設定されたパスとなる。 同様に、データファイルの出力先は"output"論理ベースパスに設定されたパスとなる。
アプリケーションから、本クラスを直接使用することは許可しない。
本クラスはスレッドセーフな実装にはなっていないので、呼び出し元で同期化の制御を行うこと。
コンストラクタと説明 |
---|
FileRecordWriter(java.io.File dataFile,
java.io.File layoutFile)
書き込むデータファイルのファイル名を指定するコンストラクタ。
|
FileRecordWriter(java.io.File dataFile,
java.io.File layoutFile,
int bufferSize)
書き込むデータファイルのベースパス論理名およびファイル名を指定するコンストラクタ。
|
FileRecordWriter(java.io.File dataFile,
LayoutDefinition layoutDefinition)
コンストラクタ。
|
修飾子とタイプ | メソッドと説明 |
---|---|
void |
close()
書き込み先のファイルストリームを閉じる。
|
protected void |
createOutputStream()
出力ストリームを生成する。
|
protected java.io.OutputStream |
createOutputStream(java.io.File dataFile,
int bufferSize)
出力ストリームを生成する。
|
protected FileRecordWriter |
doWrite(DataRecordFormatter formatter,
java.lang.String recordType,
java.util.Map<java.lang.String,?> record)
レコードタイプを指定してレコードを出力する。
|
protected FileRecordWriter |
doWrite(java.lang.String recordType,
java.util.Map<java.lang.String,?> record)
レコードタイプを指定してレコードを出力する。
|
protected void |
initialize()
フォーマット定義を読み込み、出力先ストリームを作成する。
|
protected void |
initialize(DataRecordFormatter formatter)
初期化処理を行う。
|
FileRecordWriter |
write(java.util.Map<java.lang.String,?> record)
指定されたレコードデータファイルに出力する。
|
FileRecordWriter |
write(java.lang.String recordType,
java.util.Map<java.lang.String,?> record)
レコードタイプを明示的に指定してレコードを出力する。
|
public FileRecordWriter(java.io.File dataFile, java.io.File layoutFile)
dataFile
- データファイルlayoutFile
- フォーマット定義ファイルpublic FileRecordWriter(java.io.File dataFile, java.io.File layoutFile, int bufferSize)
dataFile
- データファイルlayoutFile
- フォーマット定義ファイルbufferSize
- ファイル読み込みの際に使用するバッファのサイズpublic FileRecordWriter(java.io.File dataFile, LayoutDefinition layoutDefinition)
LayoutDefinition
を直接指定する。dataFile
- データファイルlayoutDefinition
- フォーマット定義protected void initialize()
protected void initialize(DataRecordFormatter formatter)
formatter
- フォーマッタpublic FileRecordWriter write(java.util.Map<java.lang.String,?> record)
record
- ファイルに出力するレコードpublic FileRecordWriter write(java.lang.String recordType, java.util.Map<java.lang.String,?> record)
recordType
- 出力するレコードのレコードタイプrecord
- 出力するレコードprotected FileRecordWriter doWrite(java.lang.String recordType, java.util.Map<java.lang.String,?> record)
recordType
- 出力するレコードのレコードタイプrecord
- 出力するレコードprotected FileRecordWriter doWrite(DataRecordFormatter formatter, java.lang.String recordType, java.util.Map<java.lang.String,?> record)
formatter
- フォーマッタrecordType
- 出力するレコードのレコードタイプrecord
- 出力するレコードprotected void createOutputStream()
protected java.io.OutputStream createOutputStream(java.io.File dataFile, int bufferSize)
dataFile
- 出力先ファイルbufferSize
- バッファサイズpublic void close()
close
インタフェース内 java.io.Closeable
close
インタフェース内 java.lang.AutoCloseable