Linux Install

Android

Linux Tools

Linux AV

Linux Memo

WINDOWS

PROGRAM

動画 Memo

音楽 Memo

モバイルアプリ Memo

FILE FORMAT

PROTOCOL

DEVICE

BookMark

その他


JAVA   

JAVA

sprintf

String a = String.format("%s", "test");

日時

Date の事情

  • 基本的に unixtime のラッパ
  • timezone は自分で考慮

Calendar の事情

  • 現在時刻を得るには Calendar.getInstance(); などとめんどくさい・・
  • タイムゾーンなども設定できる。
  • toDate すると タイムゾーンは消える

CSV

Escape

  • 改行, ダブルクォート, カンマ を含む文字列は escape する必要がある
     org.apache.commons.lang.StringEscapeUtils.escapeCsv(string);

BOM

  • Excel で開くことができる CSV は SJIS でつくるか、BOM 付 UTF-8 で作る
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

php の var_dump に当たるものがある

libraryDependencies += "org.apache.commons" % "commons-lang3" % "3.0"

ToStringBuilder