|
|||||||||
JAVA の変更点
#author("2019-08-14T06:38:20+00:00","default:pentacle","pentacle")
* JAVA [#xb69c247]
** sprintf [#n248fda5]
String a = String.format("%s", "test");
** 日時 [#j7306e2c]
*** Date の事情 [#k570485e]
- 基本的に unixtime のラッパ
- timezone は自分で考慮
*** Calendar の事情 [#qa9de473]
- 現在時刻を得るには Calendar.getInstance(); などとめんどくさい・・
- タイムゾーンなども設定できる。
- toDate すると タイムゾーンは消える
** CSV [#t676a778]
*** Escape [#l73da5b8]
- 改行, ダブルクォート, カンマ を含む文字列は escape する必要がある
org.apache.commons.lang.StringEscapeUtils.escapeCsv(string);
*** BOM [#tcac7cec]
- Excel で開くことができる CSV は SJIS でつくるか、BOM 付 UTF-8 で作る
#pre{{
public static byte[] addBOM(String string) {
try {
byte[] resultBytes;
ByteArrayOutputStream stream = new ByteArrayOutputStream();
stream.write(new byte[] { (byte) 0xEF, (byte) 0xBB, (byte) 0xBF });
stream.write(string.getBytes());
resultBytes = stream.toByteArray();
stream.close();
return resultBytes;
} catch (IOException e) {
return string;
}
}
}}
''response はこんな感じ''
Response.ok(addBOM(resultString)).header("Content-Disposition", "attachment; filename=file.csv").type("text/comma-separated-values").build();
※ただし、このファイルを再度 JAVA で処理する際には BOM を捨てる処理が必要
* var_dump [#o60cde91]
php の var_dump に当たるものがある~
libraryDependencies += "org.apache.commons" % "commons-lang3" % "3.0"
ToStringBuilder
|
|||||||||