📄 csvwriter.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 + -