当前位置: 代码迷 >> 综合 >> txt文件写入方法--批量结算文件生成
  详细解决方案

txt文件写入方法--批量结算文件生成

热度:7   发布时间:2024-02-06 12:32:59.0

直接上代码

package com.yuantiaokj.paycentre.rcbnbspcheck.DTO;import lombok.Data;
import lombok.experimental.Accessors;import java.util.List;/*** ************************************************************* Copyright ? 2020 远眺科技 Inc.All rights reserved.  *    *** ************************************************************** @program: financial_eco-environment_cloud* @description: 农信银代结算文件写入imput* @author: cnzz* @create: 2020-08-04 16:43**/
@Data
@Accessors(chain = true)
public class RcbBatchSettleFileWriteInputDTO {private String filePath;private String fileName;private String encodingFormat;private String fileHead;private List<String> fileDataList;
}

 

/*** 农信银商户结算文件写入** @param inputDTO RcbBatchSettleFileWriteInputDTO* @return String  生成文件path*/@Overridepublic String rcbMerchantSettleFileWrite(RcbBatchSettleFileWriteInputDTO inputDTO) {BufferedWriter out = null;String relFilePath = null;try {//检查生成文件目录File pathFile = new File(inputDTO.getFilePath());if (!pathFile.exists()) {pathFile.mkdirs();}relFilePath = inputDTO.getFilePath() + File.separator + inputDTO.getFileName();File file = new File(relFilePath);if (!file.exists()) {file.createNewFile();} else {//文件存在,需要清空FileWriter fileWriter = new FileWriter(file);fileWriter.write("");fileWriter.flush();fileWriter.close();}out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), inputDTO.getEncodingFormat()));//                //标题头//                out.write("curr_time,link_id,travel_time,speed,reliabilitycode,link_len,adcode,time_stamp,state,public_rec_time,ds");//                out.newLine();BufferedWriter finalOut = out;//写头部数据finalOut.write(inputDTO.getFileHead());finalOut.newLine();//写数据行inputDTO.getFileDataList().forEach(info -> {try {finalOut.write(info);finalOut.newLine();} catch (IOException e) {e.printStackTrace();}});} catch (IOException e) {e.printStackTrace();} finally {if (out != null) {try {out.flush();out.close();} catch (IOException e) {e.printStackTrace();}}return relFilePath;}}

 

  相关解决方案