private void writeFYFileToTxt(List list, HttpServletRequest request, String drxh, FileOutputStream fos, String currDate, int start, int end, List<P2pLoanExtInfo> extList,List<P2pProductRate> pprList) throws APSException {
    try {
       List<P2pRepayInfo> ePriList = getConvertRepayInfoList(list, start, end);//去list中的第n到第m条数据
   
       // 生成 汇总信息  0002900F0230755|AC01|20150611|001A|425|1061199.91
       StringBuilder collectInfo = new StringBuilder(ConstantsApplication.MERCHANT_NUMBER);
       collectInfo.append("|").append(ConstantsApplication.AC_OPERATION_CODE).append("|").append(currDate);
       collectInfo.append("|").append(drxh + "A").append("|").append(ePriList.size()).append("|").append(countFYTotalAmount(ePriList));
       fos.write((collectInfo.toString() + getTxtNewLine()).getBytes());
       fos.flush();
       collectInfo = null;
       // 生成明细信息

      //000001|0105|622700182400007108X|郑红|1402.75|14569|FZ201404220042|13950316334
      //000002|0105|622700189254026136X|李丽|2104.13|15175|FZ201404230043|18605935575
     for (int i = 0; i < ePriList.size(); i++) {
        P2pRepayInfo ePri = (P2pRepayInfo) ePriList.get(i);
        StringBuilder detailInfo = new StringBuilder(StringOperator.getSeq(i + 1)); // 明细序列
        detailInfo.append("|").append(ePri.getRepayOpenBankCode());
        detailInfo.append("|").append(ePri.getRepayAccountNo()).append("|").append(ePri.getLoanName()).append("|");
        detailInfo.append(ePri.getMonthRtnAmount()).append("|").append(ePri.getPriNumber()).append("|").append(ePri.getLoanContractNo()).append       ("|").append(ePri.getLoanNamePhone());
        fos.write((detailInfo.toString() + getTxtNewLine()).getBytes());//内容自动换行
        fos.flush();//本次读取全部写入文件
        detailInfo = null;
      }
  } catch (Exception e) {
   e.printStackTrace();
  }
 }

//获得换行符
 private String getTxtNewLine() {
  byte[] newLine = new byte[2];
  newLine[0]=0x0d;
  newLine[1]=0x0a;
  return new String(newLine);
 }

//序列化字符串

public static String getSeq(int seq){
  String rslt="";
  try{
   String seqStr=String.valueOf(seq);
   if(seqStr.length()==1){
    rslt="00000"+seqStr;
   }
   if(seqStr.length()==2){
    rslt="0000"+seqStr;
   }
   if(seqStr.length()==3){
    rslt="000"+seqStr;
   }
   if(seqStr.length()==4){
    rslt="00"+seqStr;
   }
   if(seqStr.length()==5){
    rslt="0"+seqStr;
   }
   if(seqStr.length()==6){
    rslt=seqStr;
   }
  }
  catch(Exception e){
   e.printStackTrace();
  }
  return rslt;
 }

交易Txt文件导出的更多相关文章

  1. 用DataGridView导入TXT文件,并导出为XLS文件

    使用 DataGridView 控件,可以显示和编辑来自多种不同类型的数据源的表格数据.也可以导出.txt,.xls等格式的文件.今天我们就先介绍一下用DataGridView把导入txt文件,导出x ...

  2. php 读取网页源码 , 导出成txt文件, 读取xls,读取文件夹下的所有文件的文件名

    <?php // 读取网页源码$curl = curl_init();curl_setopt($curl, CURLOPT_URL, $url);curl_setopt($curl, CURLO ...

  3. dataview将excel表格的数据导出成txt文件

    有时候需要处理大量的数据,且这些数据又存在于excel表格内,在平时的时候,我是非常喜欢这样的数据的,因为只要是excel表格内的数据,处理起来的方法就很方便.也可能我平时遇见的数据总是以一种杂乱无章 ...

  4. 将Maple输出的LaTex导出到txt文件

    将Maple输出的LaTex导出到txt文件 1. 生成LATEX Maple可以把它的表达式转换成LATEX, 使用latex命令即可: > latex(x^2+y^2=z^2); {x}^{ ...

  5. Java导出List集合到txt文件中——(四)

    有时候,需要将数据以一定格式导出到txt文件中.利用Java的IO可以轻松的导出数据到txt中. package Action.txt; import java.io.BufferedWriter; ...

  6. C# DataGirdview手动添加数据,导出txt文件并自动对齐

    //DataGirdview手动添加数据 private void btnDataGirdView_Click(object sender,EventArgs e) {       dataGridV ...

  7. asp mvc 导出txt 文件泛型方法

    asp mvc 导出txt 文件泛型方法分享: public static void ExportFile<T>(T obj) { StringBuilder str = new Stri ...

  8. sql 存储过程导出指定数据到.txt文件(定时)

    需求:每天生成一份txt文件数据,供第三方通过http方式调用 方法: 1.新建存储过程: USE [LocojoyMicroMessage] GO /****** Object: StoredPro ...

  9. Excel 导出指定行为txt文件(VBA,宏)

    要从Excel 多个sheet内导出指定行为txt文件,懒得用C#了,写个VBA宏 Sub Export() Dim FileName As Variant Dim Sep As String Dim ...

随机推荐

  1. Android 网络编程 Socket

    1.服务端开发 创建一个Java程序 public class MyServer { // 定义保存所有的Socket,与客户端建立连接得到一个Socket public static List< ...

  2. Mock框架

    MoQ(基于.net3.5,c#3.0的mock框架)简单介绍 - 你听海是不是在笑 - 博客园 http://www.cnblogs.com/nuaalfm/archive/2009/11/25/1 ...

  3. startActivityForResult用法详解

    一.如果想在Activity中得到新打开Activity 关闭后返回的数据,需要使用系统提供的startActivityForResult(Intent intent, int requestCode ...

  4. javascript 定义正则表达式

    js中定义正则表达式有两种,使用RegExp和使用字面量. 使用字面量定义时需要注意:必须以/开始,以/结束,就像定义字符串一样("test"). 但是,js的正则表达式可以通过指 ...

  5. SPOJ #4 Transform the Expression

    Not hard to know it is simply transform from in-order to post-order.My first idea is to build a tree ...

  6. (转)手机端html5触屏事件(touch事件)

    本文转载自:http://blog.sina.com.cn/s/blog_51048da70101f0ex.html touchstart:触摸开始的时候触发 touchmove:手指在屏幕上滑动的时 ...

  7. 域控制器中的FSMO角色

    FSMO是Flexible single master operation的缩写,意思就是灵活单主机操作.营运主机(Operation Masters,又称为Flexible Single Maste ...

  8. Windows2012 cannot access netapp CIFS share

    NAS1> options cifs.smb2.signing.requiredcifs.smb2.signing.required off NAS1> options cifs.smb2 ...

  9. Mac下关于——你不能拷贝项目“”,因为它的名称太长或包括的字符在目的宗卷上无效。文件的删除

    内容是google的,测试有效,因为用revel打包的东西删除以后有这个循环bug Mac下关于——你不能拷贝项目“”,因为它的名称太长或包括的字符在目的宗卷上无效.文件的删除 关于这个问题我找到的一 ...

  10. Linux下文件的压缩和解压

    tar命令 解包:tar zxvf FileName.tar 打包:tar czvf FileName.tar DirName gz命令 解压1:gunzip FileName.gz 解压2:gzip ...