📄 gscsvwriter.java
字号:
package jp.co.sjts.gsession.tools;
import java.io.File;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.FileOutputStream;
import java.io.PrintWriter;
import java.io.BufferedReader;
import java.io.IOException;
import java.util.ArrayList;
/*
* <p>GSCsvWriter.java
*
* @author Junichi K <kaneuchi@sjts.co.jp>
*/
public class GSCsvWriter {
private String enc = "EUCJIS";
private String filename = null;
private String record;
private ArrayList records;
private OutputStream os;
public GSCsvWriter(String filename, String[] elementnames) {
records = new ArrayList();
if(elementnames.length > 0) {
record = GSCsvEncode.encString(elementnames[0]);
for(int i=1; i < elementnames.length; i++) {
record += "," + GSCsvEncode.encString(elementnames[i]);
}
records.add(record);
}
this.filename = filename;
record = null;
}
public GSCsvWriter(OutputStream os, String[] elementnames) {
records = new ArrayList();
if(elementnames.length > 0) {
record = GSCsvEncode.encString(elementnames[0]);
for(int i=1; i < elementnames.length; i++) {
record += "," + GSCsvEncode.encString(elementnames[i]);
}
records.add(record);
}
this.os = os;
record = null;
}
private File GetLockFile()
{
String buf = GetFile().getPath()+".Lock";
return new File(buf);
}
public void setEncode(String enc)
{
this.enc = enc;
}
public void Lock() throws GSException
{
while(GetLockFile().exists()){
try {
Thread.sleep(100);
}catch(InterruptedException e){
}
}
GetLockFile().mkdir();
}
public void Unlock() throws GSException
{
GetLockFile().delete();
}
synchronized protected File GetFile() {
return new File(filename);
}
public synchronized void addRecord(String element) {
if(record == null)
record = GSCsvEncode.encString(element);
else
record += "," + GSCsvEncode.encString(element);
}
public synchronized void setRecord() {
records.add(record);
record = null;
}
synchronized protected void Write(PrintWriter pw) {
for(int i=0; i < records.size(); i++) {
pw.println(records.get(i));
}
}
public final synchronized void Save() throws GSException {
try {
OutputStreamWriter osw = null;
if(filename != null)
osw = new OutputStreamWriter( new FileOutputStream(GetFile()),enc);
else
osw = new OutputStreamWriter(os,enc);
PrintWriter pw = new PrintWriter(osw);
Write(pw);
pw.flush();
pw.close();
// } catch(GSException e) {
// throw new GSException(e.toString(),e);
} catch(IOException e) {
throw new GSException("IO僄儔乕",e);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -