我有这样的程序,
BigDecimal bd = new BigDecimal(23.086);
BigDecimal bd1= new BigDecimal(0.000);
bd = bd.setScale(2, RoundingMode.HALF_UP).stripTrailingZeros();
bd1 = bd1.setScale(2, RoundingMode.HALF_UP).stripTrailingZeros();
System.out.println("bd value::"+ bd);
System.out.println("bd1 value::"+ bd1);
Run Code Online (Sandbox Code Playgroud)
我得到以下输出:23.09for bd和0.00 for bd1,但我想要bd1的0不是0.00.我正确应用这些方法吗?
在spring batch中,我正在使用MultiResourceItemReader从目录中读取多个文件。然后,我使用FlatFileItemReader作为委托来处理单个文件。我的用例是,一旦文件被完全处理(READ-WRITE完成),则将其删除,然后multiResourceitemReader必须选择另一个文件并继续。
我试图FileDeletingTasklet删除目录中的文件,但是根据Spring docs,execute方法将仅被调用一次。如何在已处理的文件上实现删除(读-写),但是一旦目录中的所有文件都完全处理完毕,我就不想删除整个目录。
以下是我正在使用的工作:
<batch:job id="getEmpDetails">
<batch:step id="readAndProcess" next="deleteProcessedFile">
<batch:tasklet>
<batch:chunk reader="readEmpDetails" writer="writeEmpDetails" commit-interval="100">
</batch:chunk>
</batch:tasklet>
</batch:step>
<batch:step id="deleteProcessedFile">
<batch:tasklet ref="fileDeletingTasklet" />
</batch:step>
</batch:job>
<bean id="fileDeletingTasklet" class="com.test.FileDeletingTasklet">
<property name="directoryResource">
<bean id="directory" class="org.springframework.core.io.FileSystemResource">
<constructor-arg value="E:/testDir/file1.txt" />
</bean>
</property>
</bean>
Run Code Online (Sandbox Code Playgroud)