现在的位置: 首页 > 综合 > 正文

将对象写入文件代码示例

2017年11月19日 ⁄ 综合 ⁄ 共 2202字 ⁄ 字号 评论关闭
/**
     * 生成数据下载结果文件至指定目录
     * @param localDatePath 文件路径
     * @param fileName 文件名
     * @param downTaskPsgInfos 某趟航班下的旅客数据
     */
	public  void getDownTaskResultTxt(String localDatePath,String fileName,List<DownTaskPsgInfo> downTaskPsgInfos) {
	//	判断文件路径是否存在,若不存在,先新建指定目录
        File f=new File(localDatePath);
        if(!f.exists())
        	f.mkdirs();
    //  判断文件是否存在,若存在,先删除再写入一份最新的记录
        File downTaskResultFile = new File(localDatePath+fileName);
        if(downTaskResultFile.exists())
        	downTaskResultFile.delete();
        
        BufferUtil fltFile = new BufferUtil();
        BufferedWriter bufferW;
		try {
			
		bufferW = fltFile.getBw(localDatePath+fileName);	
		for(int i =0;i<downTaskPsgInfos.size();i++){
			StringBuffer buffer = new StringBuffer("");	
			DownTaskPsgInfo downTaskPsgInfo = new DownTaskPsgInfo();
			downTaskPsgInfo=downTaskPsgInfos.get(i) ;
//		将旅客订座记录中字段信息写入数据下载结果文件
			buffer.append(downTaskPsgInfo.getDptAirptCd());
			buffer.append(downTaskPsgInfo.getArrvAirptCd());
		        。。。。。。。
			buffer.append(downTaskPsgInfo.getBkDay());
			buffer.append(downTaskPsgInfo.getActionCd());
			buffer.append("|");
			buffer.append(downTaskPsgInfo.getPsgCnName());
			buffer.append("|");
			buffer.append(downTaskPsgInfo.getPnrInfo().replace("\r\n", "~"));			
			bufferW.write(buffer.toString());
			bufferW.newLine();
			}   
		
		bufferW.close();
	} catch (IOException e) {
		log.error("---> 生成数据文件失败 " + localDatePath+fileName);
		e.printStackTrace();
		
	}
		log.info("---> 成功生成数据文件 " + localDatePath+fileName);
		
	}
	
	


import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

/**
 * Time: 11:21:26
 * Apply reader or writer buffer encodered in GBK.
 */
public class BufferUtil {

    /**
     * Create a BuffererdReader from the specified file.
     *
     * @param filename the file to be readed as GBK BufferedReader.
     * @return <code>BufferedReader br</code>
     */
    public BufferedReader getBr(String filename) throws IOException {
        BufferedReader br = null;

        br = new BufferedReader(new InputStreamReader(new FileInputStream(filename), "GBK"));

        return br;
    }

    /**
     * Create a BufferedWriter from the specified file.
     *
     * @param fileName the file to be added as GBK BufferedWriter
     *                 which will be writed in.
     * @return <code>BufferedWriter bw</code>
     */
    public BufferedWriter getBw(String fileName) throws IOException {
        BufferedWriter bw = null;

       

        bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fileName), "GBK"));

        return bw;
    }
}

抱歉!评论已关闭.