美好的一天,
我正在创建一个弹出批处理,它将以文本形式写出输出。
基本上输出将是1行标题和多行细节。
然后,在xml中,我设置了
<property name="appendAllowed" value="true" />
为我的作家。
在我的编写器java文件中,
@Override
public void writeHeader(Writer writer) throws IOException {
// write header here
}
@Override
public void write(List< ? extends ZakatVO > items) throws Exception {
List< String > lines = new ArrayList< String >( );
// generate details here
this.delegate.write( lines );
}
首先,我预计如果再次运行该作业,它会将另外一行标题追加到同一输出文件中。
但我得到的只是追加细节线。
这是我错误配置的吗?或者这是正常的行为?
请告知。
答案 0 :(得分:1)
你的&#34; writeHeader&#34;代码为空,因此不会写任何标题。您必须在方法中显式写入标头。 像:
@Override
public void writeHeader(Writer writer) throws IOException {
writer.write("something....");
其次,您已明确禁用对现有文件的追加,因此它不会在第二次运行时附加任何内容。