/**
* 会社マスタのレコードをCSVファイルにするメソッド。
*
* @param filename 作成するファイル名
* @param in0 条件など
* @return boolean
* @throws Exception 例外
*/
private boolean createCsvCompany(
String filename,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {
//戻り値
boolean ret = false;
try {
//SQL文作成
StringBuffer sql = new StringBuffer();
sql.append("SELECT");
sql.append("/n");
sql.append(" TO_CHAR(SYSDATE,'YYYY/MM/DD HH:MI:SS') SDATE,");
sql.append(" COMPANY_CODE,");
sql.append(" COMPANY_NAME,");
sql.append(" COMPANY_KANA,");
sql.append(" COMPANY_SHORT_NAME,");
sql.append(" COMPANY_ENGLISH,");
sql.append(" COUNTRY,");
sql.append(" STATE,");
sql.append(" CITY,");
sql.append(" STREET_ADDRESS1,");
sql.append(" STREET_ADDRESS2,");
sql.append(" CREATE_DATE,");
sql.append(" UPDATE_DATE");
sql.append(" FROM COMPANY");
sql.append("/n");
//filename =JPToUnicode(filename);
sql.append(filename);
String csvdata = null;
//バッファのcsvデータをString型に変換
// csvdata = exchangeChar(sql.toString());
csvdata = exchangeChar(sql.toString());
/**
* ファイル出力
*/
BufferedWriter writer;
writer = null;
String outputFileName = null;
//csvファイルの出力先は”_pdf_location”としてdataaccess.propertiesに記述する
outputFileName = "aaa.txt";
writer =
new BufferedWriter(
new OutputStreamWriter(
new FileOutputStream(outputFileName),
"EUC_JP"));
writer.write(csvdata, 0, csvdata.length());
if (writer != null) {
writer.flush();
writer.close();
}
// 输出下载的文件
int iLength;
response.setContentType(
"application/musicnavi-csv; charset=x-sjis");
response.setHeader(
"Content-Disposition",
"attachment; filename=/"" + "www" + ".csv/"");
// response.setContentType(contenttype + "; charset=UTF-8");
/*response.setContentType("application/octet-stream");*/
//response.addHeader("Content-Disposition", "attachment;filename=" + fName);
ServletOutputStream sos = response.getOutputStream();
FileInputStream fos = new FileInputStream("aaa.txt");
iLength = fos.available();
byte b[] = new byte[iLength];
// Read File content
fos.read(b);
sos.write(b);
sos.close();
fos.close();
ret = true;
} catch (Exception e) {
log.error("Exception!!" + e.getMessage());
throw new Exception(e.getMessage());
}
return ret;
}
/**
* Method exchangeChar.
* @param str String
* @return String
*/
public static String exchangeChar(String str) {
String line = "";
char[] ch = str.toCharArray();
char[][] sjToMsj;
sjToMsj = new char[8][2];
sjToMsj[0][0] = 0xff3c;
sjToMsj[0][1] = 0x2016;
sjToMsj[1][0] = 0xff5e;
sjToMsj[1][1] = 0x301c;
sjToMsj[2][0] = 0x2225;
sjToMsj[2][1] = 0x2016;
sjToMsj[3][0] = 0xff0d;
sjToMsj[3][1] = 0x2212;
sjToMsj[4][0] = 0xffe0;
sjToMsj[4][1] = 0x00a2;
sjToMsj[5][0] = 0xffe1;
sjToMsj[5][1] = 0x00a3;
sjToMsj[6][0] = 0xffe2;
sjToMsj[6][1] = 0x00ac;
sjToMsj[7][0] = 0x2015;
sjToMsj[7][1] = 0x2014;
line = String.copyValueOf(ch);
for (int i = 0; i < sjToMsj.length; i++) {
line = line.replace(sjToMsj[i][0], sjToMsj[i][1]);
}
return line;
}