java對象序列化並存儲到文件中


● 如何將一個Java對象序列化到文件里

  使用輸入輸出流,,一個是ObjectOutputStream 對象,ObjectOutputStream 負責向指定的流中寫入序列化的對象。當從文件中讀取序列化數據時,主要需要兩個對象,一個是FileInputStream ,一個是ObjectInputStream 對象,ObjectInputStream 負責從指定流中讀取序列化數據並還原成序列化前得對象。另外,序列化的讀取數據與寫入的順序相同,比如我們序列化時先寫入數據A ,再寫入B ,最后寫入C ;那么我們再讀取數據的時候,讀取到的第一個數據為A ,讀取到的第二個數據為B ,最后讀取到的數據為C ,即:先寫入先讀取的原則。

 

package com.genersoft.enetbank.settlement.pubbean;

import org.loushang.next.dao.Column;
import org.loushang.next.dao.Table;
import org.loushang.next.dao.Transient;
import org.loushang.next.data.Rule;
import org.loushang.next.data.StatefulDatabean;

import java.io.FileOutputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * <p>Create Date: 2018-2-27</p>
 * <p>Copyright  : Genersoft Java Group(c)</p>
 * ************************************************************/
@Table(tableName = "EB_BATCH_PAY", keyFields = "APPLY_ID")
public class BatchPay extends StatefulDatabean implements Serializable {

    //審批狀態
    public static final String ADV_DRAW_STATUS_SAVE = "01"; // 申請
    public static final String ADV_DRAW_STATUS_SUBMIT = "02"; // 審批中
    public static final String ADV_DRAW_STATUS_CHECK_RETURN = "04"; // 審批退回
    public static final String ADV_DRAW_STATUS_ABANDONED = "09"; // 作廢

    public static final String ADV_DRAW_STATUS_REFUSED = "07"; // 財司已拒絕
    public static final String ADV_DRAW_STATUS_CHECKED = "05"; //  網銀到櫃面后落地未受理:財司受理中
    public static final String ADV_DRAW_STATUS_INPROCESSING = "11"; //財司已受理(櫃面審批及發送銀行過程都為此狀態)

    public static final String BILL_STATUS_GMPAYDONE = "08"; // 已支付
    public static final String BILL_STATUS_GMPAYBACK = "12"; // 支付失敗退回

    /*
     申請內碼[YYYYMMDD+12位流水號]
    */
    @Rule(value = "require")
    @Column(name = "APPLY_ID")
    private String applyId;

    /*
     付款批號[預留
]
    */
    @Column(name = "BATCH_CODE")
    private String batchCode;

    /*
     申請編號[]
    */
    @Column(name = "BZNS_CODE")
    private String bznsCode;

    /*
     客戶編號[]
    */
    @Column(name = "CUST_CODE")
    private String custCode;

    /*
     業務類型[對私批量業務類型
]
    */
    @Column(name = "BZNS_TYPE")
    private String bznsType;

    /*
     申請來源[申請來源:1-Excel導入、2-外部申請
]
    */
    @Column(name = "APP_SOURCE")
    private String appSource;

    /*
     急緩標志[【客戶選擇,用以匹配發送方式,0-普通;1-加急】
]
    */
    @Column(name = "FAST_FLAG")
    private String fastFlag;

    /*
     所屬機構[目前默認為客戶賬戶的機構
]
    */
    @Column(name = "ORG_ID")
    private String orgId;

    /*
        所屬機構名稱[目前默認為客戶賬戶的機構
   ]
       */
    @Transient
    private String custName;

    /*
        組織名稱
   ]
       */
    @Transient
    private String orgName;

    /*
     客戶賬戶編號[]
    */
    @Column(name = "CUST_ACC_CODE")
    private String custAccCode;

    /*
     客戶賬戶名稱[冗余
]
    */
    @Column(name = "CUST_ACC_NAME")
    private String custAccName;

    /*
     客戶銀行賬號[]
    */
    @Column(name = "CUST_BANK_ACC")
    private String custBankAcc;

    /*
     幣種[]
    */
    @Column(name = "CURCD")
    private String curcd;

    /*
     應付金額[]
    */
    @Column(name = "PAY_AMT")
    private BigDecimal payAmt;

    /*
     實付金額[]
    */
    @Column(name = "PAID_AMT")
    private BigDecimal paidAmt;

    /*
     匯率[]
    */
    @Column(name = "EXCHANGE_RATE")
    private BigDecimal exchangeRate;

    /*
     總筆數[
]
    */
    @Column(name = "TOTAL_NUM")
    private int totalNum;

    /*
     成功筆數[]
    */
    @Column(name = "SUS_NUM")
    private int susNum;

    /*
     失敗筆數[]
    */
    @Column(name = "FAIL_NUM")
    private int failNum;

    /*
     付款賬戶[]
    */
    @Column(name = "PAY_ACC")
    private String payAcc;

    /*
     收支項目[預留
]
    */
    @Column(name = "PROJECT_BUDGET")
    private String projectBudget;

    /*
     資金計划[預留
]
    */
    @Column(name = "BUDGET_PLAN")
    private String budgetPlan;

    /*
     用途
用途[]
    */
    @Column(name = "REMARK")
    private String remark;

    /*
     單據狀態["00申請/待提交、01審批中、02審批退回、10受理中、11已受理、12財司退回
20已辦結、30已作廢"
]
    */
    @Column(name = "BILL_STATUS")
    private String billStatus;

    /*
     經辦人[]
    */
    @Column(name = "OPERATOR")
    private String operator;

    /*
     經辦日期[]
    */
    @Column(name = "OPERATE_DATE")
    private String operateDate;

    /*
     櫃面退回人[]
    */
    @Column(name = "BACKER")
    private String backer;

    /*
     櫃面退回日期[]
    */
    @Column(name = "BACK_DATE")
    private String backDate;

    /*
     櫃面退回原因[]
    */
    @Column(name = "BACK_REASON")
    private String backReason;

    /*
     對應櫃台業務單號[]
    */
    @Column(name = "COUNTER_BILL_CODE")
    private String counterBillCode;

    /*
     時間戳[]
    */
    @Column(name = "TIME_STAMP")
    private String timeStamp;

    @Transient
    private List<Map> list;

    /*---------------------以下為變量getset方法區域----------------------------*/
    /*
     申請內碼[YYYYMMDD+12位流水號
]
    */
    public void setApplyId(String applyId) {
        this.applyId = applyId;
    }

    /*
     申請內碼[YYYYMMDD+12位流水號
]
    */
    public String getApplyId() {
        return this.applyId;
    }

    /*
     付款批號[預留
]
    */
    public void setBatchCode(String batchCode) {
        this.batchCode = batchCode;
    }

    /*
     付款批號[預留
]
    */
    public String getBatchCode() {
        return this.batchCode;
    }

    /*
     申請編號[]
    */
    public void setBznsCode(String bznsCode) {
        this.bznsCode = bznsCode;
    }

    /*
     申請編號[]
    */
    public String getBznsCode() {
        return this.bznsCode;
    }

    /*
     客戶編號[]
    */
    public void setCustCode(String custCode) {
        this.custCode = custCode;
    }

    /*
     客戶編號[]
    */
    public String getCustCode() {
        return this.custCode;
    }

    /*
     業務類型[對私批量業務類型
]
    */
    public void setBznsType(String bznsType) {
        this.bznsType = bznsType;
    }

    /*
     業務類型[對私批量業務類型
]
    */
    public String getBznsType() {
        return this.bznsType;
    }

    /*
     申請來源[申請來源:1-Excel導入、2-外部申請
]
    */
    public void setAppSource(String appSource) {
        this.appSource = appSource;
    }

    /*
     申請來源[申請來源:1-Excel導入、2-外部申請
]
    */
    public String getAppSource() {
        return this.appSource;
    }

    /*
     急緩標志[【客戶選擇,用以匹配發送方式,0-普通;1-加急】
]
    */
    public void setFastFlag(String fastFlag) {
        this.fastFlag = fastFlag;
    }

    /*
     急緩標志[【客戶選擇,用以匹配發送方式,0-普通;1-加急】
]
    */
    public String getFastFlag() {
        return this.fastFlag;
    }

    /*
     所屬機構[目前默認為客戶賬戶的機構
]
    */
    public void setOrgId(String orgId) {
        this.orgId = orgId;
    }

    /*
     所屬機構[目前默認為客戶賬戶的機構
]
    */
    public String getOrgId() {
        return this.orgId;
    }

    /*
     客戶賬戶編號[]
    */
    public void setCustAccCode(String custAccCode) {
        this.custAccCode = custAccCode;
    }

    /*
     客戶賬戶編號[]
    */
    public String getCustAccCode() {
        return this.custAccCode;
    }

    /*
     客戶賬戶名稱[冗余
]
    */
    public void setCustAccName(String custAccName) {
        this.custAccName = custAccName;
    }

    /*
     客戶賬戶名稱[冗余
]
    */
    public String getCustAccName() {
        return this.custAccName;
    }

    /*
     客戶銀行賬號[]
    */
    public void setCustBankAcc(String custBankAcc) {
        this.custBankAcc = custBankAcc;
    }

    /*
     客戶銀行賬號[]
    */
    public String getCustBankAcc() {
        return this.custBankAcc;
    }

    /*
     幣種[]
    */
    public void setCurcd(String curcd) {
        this.curcd = curcd;
    }

    /*
     幣種[]
    */
    public String getCurcd() {
        return this.curcd;
    }

    /*
     應付金額[]
    */
    public void setPayAmt(BigDecimal payAmt) {
        this.payAmt = payAmt;
    }

    /*
     應付金額[]
    */
    public BigDecimal getPayAmt() {
        return this.payAmt;
    }

    /*
     實付金額[]
    */
    public void setPaidAmt(BigDecimal paidAmt) {
        this.paidAmt = paidAmt;
    }

    /*
     實付金額[]
    */
    public BigDecimal getPaidAmt() {
        return this.paidAmt;
    }

    /*
     匯率[]
    */
    public void setExchangeRate(BigDecimal exchangeRate) {
        this.exchangeRate = exchangeRate;
    }

    /*
     匯率[]
    */
    public BigDecimal getExchangeRate() {
        return this.exchangeRate;
    }

    /*
     總筆數[
]
    */
    public void setTotalNum(int totalNum) {
        this.totalNum = totalNum;
    }

    /*
     總筆數[
]
    */
    public int getTotalNum() {
        return this.totalNum;
    }

    /*
     成功筆數[]
    */
    public void setSusNum(int susNum) {
        this.susNum = susNum;
    }

    /*
     成功筆數[]
    */
    public int getSusNum() {
        return this.susNum;
    }

    /*
     失敗筆數[]
    */
    public void setFailNum(int failNum) {
        this.failNum = failNum;
    }

    /*
     失敗筆數[]
    */
    public int getFailNum() {
        return this.failNum;
    }

    /*
     付款賬戶[]
    */
    public void setPayAcc(String payAcc) {
        this.payAcc = payAcc;
    }

    /*
     付款賬戶[]
    */
    public String getPayAcc() {
        return this.payAcc;
    }

    /*
     收支項目[預留
]
    */
    public void setProjectBudget(String projectBudget) {
        this.projectBudget = projectBudget;
    }

    /*
     收支項目[預留
]
    */
    public String getProjectBudget() {
        return this.projectBudget;
    }

    /*
     資金計划[預留
]
    */
    public void setBudgetPlan(String budgetPlan) {
        this.budgetPlan = budgetPlan;
    }

    /*
     資金計划[預留
]
    */
    public String getBudgetPlan() {
        return this.budgetPlan;
    }

    /*
     用途
用途[]
    */
    public void setRemark(String remark) {
        this.remark = remark;
    }

    /*
     用途
用途[]
    */
    public String getRemark() {
        return this.remark;
    }

    /*
     單據狀態["00申請/待提交、01審批中、02審批退回、10受理中、11已受理、12財司退回
20已辦結、30已作廢"
]
    */
    public void setBillStatus(String billStatus) {
        this.billStatus = billStatus;
    }

    /*
     單據狀態["00申請/待提交、01審批中、02審批退回、10受理中、11已受理、12財司退回
20已辦結、30已作廢"
]
    */
    public String getBillStatus() {
        return this.billStatus;
    }

    /*
     經辦人[]
    */
    public void setOperator(String operator) {
        this.operator = operator;
    }

    /*
     經辦人[]
    */
    public String getOperator() {
        return this.operator;
    }

    /*
     經辦日期[]
    */
    public void setOperateDate(String operateDate) {
        this.operateDate = operateDate;
    }

    /*
     經辦日期[]
    */
    public String getOperateDate() {
        return this.operateDate;
    }

    /*
     櫃面退回人[]
    */
    public void setBacker(String backer) {
        this.backer = backer;
    }

    /*
     櫃面退回人[]
    */
    public String getBacker() {
        return this.backer;
    }

    /*
     櫃面退回日期[]
    */
    public void setBackDate(String backDate) {
        this.backDate = backDate;
    }

    /*
     櫃面退回日期[]
    */
    public String getBackDate() {
        return this.backDate;
    }

    /*
     櫃面退回原因[]
    */
    public void setBackReason(String backReason) {
        this.backReason = backReason;
    }

    /*
     櫃面退回原因[]
    */
    public String getBackReason() {
        return this.backReason;
    }

    /*
     對應櫃台業務單號[]
    */
    public void setCounterBillCode(String counterBillCode) {
        this.counterBillCode = counterBillCode;
    }

    /*
     對應櫃台業務單號[]
    */
    public String getCounterBillCode() {
        return this.counterBillCode;
    }

    /*
     時間戳[]
    */
    public void setTimeStamp(String timeStamp) {
        this.timeStamp = timeStamp;
    }

    /*
     時間戳[]
    */
    public String getTimeStamp() {
        return this.timeStamp;
    }

    public String getOrgName() {
        return orgName;
    }

    public void setOrgName(String orgName) {
        this.orgName = orgName;
    }

    public List<Map> getList() {
        return list;
    }

    public void setList(List<Map> list) {
        this.list = list;
    }

    public String getCustName() {
        return custName;
    }

    public void setCustName(String custName) {
        this.custName = custName;
    }


    /*---------------------變量getset方法區域-結束----------------------------*/
}

 

 

package com.genersoft.enetbank.settlement.payapp.dao;

import com.genersoft.enetbank.bill.recbill.common.BillReceiveComMethod;
import com.genersoft.enetbank.combusi.SettlementConstant;
import com.genersoft.enetbank.combusi.bean.Jssfdjb;
import com.genersoft.enetbank.combusi.commonhelp.dao.CommonHelpDao;
import com.genersoft.enetbank.common.ENBConstants;
import com.genersoft.enetbank.common.UserInfo;
import com.genersoft.enetbank.common.dao.GetSysConf;
import com.genersoft.enetbank.common.dao.TsBaseJdbcDao;
import com.genersoft.enetbank.common.dao.TsDaoFactory;
import com.genersoft.enetbank.common.exception.TsException;
import com.genersoft.enetbank.common.jszhzd.dao.Jszhzd;
import com.genersoft.enetbank.common.utils.TsUtils;
import com.genersoft.enetbank.common.utils.ValidateUtils;
import com.genersoft.enetbank.common.workflow.TsWfUtils;
import com.genersoft.enetbank.settlement.pubbean.BatchPay;
import com.genersoft.enetbank.settlement.querystapp.dao.StSettlementApp;
import com.genersoft.enetbank.settlement.stpublic.PubProduct;
import org.loushang.next.data.*;
import org.loushang.next.web.cmd.CommandContext;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.math.BigDecimal;
import java.util.*;
import java.util.regex.Pattern;

/**
 * <p>Description: </p>
 * <p>Create Date: 14-2-8</p>
 * <p>Copyright  : Genersoft Java Group(c)</p>
 *
 * @version 1.0
 */

  /* *************************************************************
 * Modifier  Date    Operate(AMD)   Description

 * ************************************************************/
public class PayappDao  {

        public static void main(String[] args) throws IOException {
            BatchPay batchPay=new BatchPay();
            FileOutputStream fos=new FileOutputStream("F://MyTest.txt");
            ObjectOutputStream objectOutputStream=new ObjectOutputStream(fos);
            objectOutputStream.writeObject(batchPay);
            objectOutputStream.close();
        }

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM