- PR -

CSV

投稿者投稿内容
Mxfull
大ベテラン
会議室デビュー日: 2006/02/15
投稿数: 146
投稿日時: 2006-02-28 16:46
private void genCSV(String memcd, String yearmonth) {
try {
SessionManager sessionManager = new SessionManager();
ServletContext cxt = sessionManager.obtainSession().getServletContext();

String path = "";
String fileName = "";
File file;

path = cxt.getRealPath("/" + memcd + yearmonth + ".csv");
file = new File(path);
fileName = file.getCanonicalPath();

String str1 = "";
String str2 = "";
String str3 = "";
String str4 = "";
String str5 = "";
String str6 = "";
String str7 = "";
String str8 = "";
String str9 = "";
String str10 = "";

PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(fileName)));
out.println("年月" + "," + "日" + "," + "曜日" + "," + "社員コード" + ","
+ "氏名" + "," + "部課" + "," + "出勤種別名" + "," + "実働時間" + ","
+ "超過時間" + "," + "深夜超過時間");

for (int i = 0; i < this.approveList.size(); i++) {
this.approve = new Geppou();
this.approve = (Geppou) this.approveList.get(i);

if(i != (this.approveList.size()-1)) {
str1 = yearmonth;
str2 = this.approve.getDate();
str3 = this.approve.getYoubi();
str4 = memcd;
str5 = this.memName;
str6 = this.depShname;
str7 = this.approve.getWorkType();
str8 = this.approve.getWorkTime();
str9 = this.approve.getOverTime();
str10 = this.approve.getNoverTime();
} else {
str1 = "";
str2 = this.approve.getDate();
str3 = "";
str4 = "";
str5 = "";
str6 = "";
str7 = "";
str8 = this.approve.getWorkTime();
str9 = this.approve.getOverTime();
str10 = this.approve.getNoverTime();
}


out.println(str1 + "," + str2 + "," + str3 + "," + str4 + ","
+ str5 + "," + str6 + "," + str7 + "," + str8 + ","
+ str9 + "," + str10);
}

out.close();
} catch (EOFException e) {
e.printStackTrace();
this.log.error(e.getMessage());
} catch (IOException e1) {
e1.printStackTrace();
this.log.error(e1.getMessage());
} catch (Exception e2) {
e2.printStackTrace();
this.log.error(e2.getMessage());
}
}

Mxfull
大ベテラン
会議室デビュー日: 2006/02/15
投稿数: 146
投稿日時: 2006-02-28 16:52
先のPGはJavaでCSVファイルを発生する用です。
ただ、発生されたCSVファイルには文字化けています。
どうやって文字化けが解消できるかご教授いただけませんか?

宜しくお願いいたします。
未記入X
大ベテラン
会議室デビュー日: 2005/05/19
投稿数: 136
投稿日時: 2006-02-28 16:56
こんにちは
引用:

Mxfullさんの書き込み (2006-02-28 16:52) より:
先のPGはJavaでCSVファイルを発生する用です。
ただ、発生されたCSVファイルには文字化けています。
どうやって文字化けが解消できるかご教授いただけませんか?

宜しくお願いいたします。


文字コードの指定(敢えてぼかして書いています)はどこかで行っていますか?
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2006-02-28 16:58
new FileWriter(fileName)では、
Javaのプラットフォームのデフォルトの文字コードが使用されます。

プラットフォーム(サーバ)と、
そのファイルを開く環境の文字コードが違えば文字化けするのはわかりますよね?

FileWriterのコンストラクタには、文字コードも引数とするものがありますので、
そちらを使用してみてはいかがでしょうか。
Mxfull
大ベテラン
会議室デビュー日: 2006/02/15
投稿数: 146
投稿日時: 2006-02-28 17:22
探してみましたが、FileWriterのコンストラクタには、文字コードを引数とするものが
ないようですが。。。
_________________
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2006-02-28 17:28
では、文字コードを引数にするコンストラクタを持つクラスを探してみてはいかがでしょう。
きっと同じ java.io.* パッケージにありますよ。
ゆう
常連さん
会議室デビュー日: 2003/06/27
投稿数: 45
投稿日時: 2006-02-28 17:36
java.io.FileWriterについてのドキュメントを読み直すと
よいかもしれません。

Java v1.4.0 java.io.FileWriter
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/io/FileWriter.html
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2006-02-28 18:55
ごめんなさい。
FileWriterにはなかったですね・・・勘違いしていました。
あるのは、よく似たクラスです。

スキルアップ/キャリアアップ(JOB@IT)