⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 csvwriter.java

📁 this is example use EJB with jboss.
💻 JAVA
字号:
/*
 * Copyright(C) 2008, NTT AT Co., Ltd.
 * Project: AWGStar
 * Notes:
 *  N/A
 *
 * Record of change:
 * Date         Version      Name       Content
 * 2008/12/15   1.0          TuanNA     First create       
 */
package jp.co.ntt.awgview.server.common;
import java.io.FileWriter;
import java.io.IOException;

import jp.co.ntt.awgview.server.constant.Constants;

/**
 * Class name : CsvWriter <BR>
 * 
 * Package : jp.co.ntt_at.awgview.server.common <BR>
 * 
 * Description: a CSV file writer. This for backup data from database into 
 * file with CSV format<BR>
 * 
 * @author : AI&T
 * @version : 1.0
 */
public class CsvWriter {
	
	private FileWriter writer 	= null;
	private boolean isClosed 	= true;
	private boolean initialized = false;
	private boolean headerWrote = false;
	private String  fileName 	= "";
	private boolean isShowInfo 	= false;
	
	/**
	 * Create file writer
	 * 
	 * @param filename
	 */
	public void open(String filename) {
		try{
			fileName = filename;
			if ((!initialized) && (filename != null)){
					writer = new FileWriter(fileName);
					initialized = true;
					headerWrote = false;
					isClosed = false;
					isShowInfo = false;
			} else {
				LogWriter.getDBLogger().error("Failed to create file writer. " +
									"Writer is not closed or file name invalid.");
			}			
			
		 } catch (IOException e){
			e.printStackTrace();
			initialized = false;
			writer = null;
			LogWriter.getDBLogger().error("Failed to create file writer.");
		}
	}
	
	/**
	 * Create header of file
	 * 
	 * @param hnames
	 */
	public void createHeader(String ... hnames) {
		if (!headerWrote){  
			writeRecord(hnames);
			headerWrote = true;
		}
	}
	
	/**
	 * Write data into file	
	 * @param values
	 */
	public void writeRecord(String ...values) {
	    try{
	    	if ((initialized == true) && (!isClosed)){
	    		if (values != null){
	    			for (int i = 0; i< values.length; i++){
	    				if (values[i] == null){
	    					values[i] = "";
	    				}
	    				writer.append(values[i]);
	    				if (i < (values.length - 1)){
	    					writer.append(",");
	    				}
	    			}
	    			writer.append(Constants.LINE_SEP);
	    			if (!isShowInfo){
	    				LogWriter.getDBLogger().warn("Writing data to " + fileName);
	    				isShowInfo = true;
	    			}
	    		}
	    	} else {
	    		LogWriter.getDBLogger().warn("This content has ignored. " +
	    				"Writer is not initialized or closed.");
	    	}
	    } catch (IOException e){
	    	LogWriter.getDBLogger().error("An I/O error occurred while " +
	    				"writing records to csv file. Exception: " + e.getMessage());
	    }

	}
	
	/**
	 * Clean-up enviroment
	 */
    public void close(){
    	try{
    		if ((!isClosed) && (initialized)){
    			initialized = false;
    			headerWrote = false;
    			writer.flush();
    			writer.close();
    			isClosed = true;
    			isShowInfo = false;
    		}
    	} catch (IOException e){
  	    	LogWriter.getDBLogger().error("An I/O error occurred while closing file writer.");
  	    } catch (Exception e){
  	    	LogWriter.getDBLogger().error("An I/O error occurred while closing file writer.");
  	    }
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -