Java

カレントディレクトリのパスを取得するには

new File(".")).getAbsoluteFile().getParentFile().toString();

Androidアプリで端末に書き込んだ情報をEclipse上から見るには

実機はできないがエミュレータなら可能。まずはエミュレータを起動する。 DDMS →ファイル・エクスプローラ →data →data →アプリのパッケージ名と同じディククトリ この中にバイナリファイルが含まれている。見たいファイルを選択して、右上のPull a file fro…

Androidでリソース(画像)を触る際の便利メソッド

AndroidのUIをデザインするには

AndroidのGUIはJavaのSwingとよく似ている。Buttonクラスをnewして、プロパティを設定して…など。 しかし、 そんなことをやっていては日が暮れるので画面の各部品の情報はXMLで外出しにできるようになっている。 NetBeansで書くSwingやFlexと同じイメージに…

AndroidアプリでGUIのレイアウトをテーブルのように行うには

・配置とストレッチ http://itpro.nikkeibp.co.jp/article/MAG/20090818/335668/?ST=nsw&P=2・複数の行を連結させる。 http://blog.livedoor.jp/shizuku_kun/tag/View

JMenuItemの動的な切り替えについて

ツリーやメニューなどの中のJMenuItemを動的にしたい場合。 その都度、インスタンス生成してaddやremoveをしなくても、 visibleの切り替えだけで大丈夫のようだ。例えば、ファイルメニューの中に以下のようなJMenuItemを作成したとする。 保存 削除 終了 こ…

Eclipseでメソッドをオーバーライドした場合にスーパークラスのJavaDocを引き継ぐには

まず、スーパークラスのJavaDocをしっかりと書く。その後、オーバーライドしたメソッドのJavaDocに @inheritDoc を記述する。 そうするとスーパークラスのJavaDocコメントを、オーバーライドした側も参照するようになる。さらに、Eclipseを使用している場合…

SwingのJTreeでNodeの種類ごとに表示させるアイコンを変えるためには

1.まずはDefaultMutableTreeNodeを継承したオリジナルNodeを作成する。2.そのNodeに対してNodeの種別を判断できるプロパティ(変数)を設ける。3.更に、DefaultTreeCellRendererを継承したオリジナルTreeCellRendererを作成する。4.getTreeCellRendererCompone…

Javaで現在のディレクトリ(カレントディレクトリ)の位置を取得するには

new File(".").getAbsolutePath();

正規表現について

全ての文字をヒットさせるには泥臭くやるしかない。 http://cha.sblo.jp/article/19201205.htmlhttp://daipresents.com/weblog/fujihalab/archives/2008/08/java-regex.php

Tomcatの調整

tomcatで同時にさばけるスレッド数は MaxThreadという値で設定されている。デフォルトは200なので利用環境に応じて変更する必要がある。 なお、1スレッドあたりの使用するメモリ数は、 32bit OS 512Kbytes 64bit OS 1Mbytes である。 http://mix.itmedia.co.…

コメントの意味

今更だけどやっと分かった。XXX: その部分のコードが正しくないが多くの場合動いてしまう FIXME: コードが間違っていて修正を要する TODO: 将来強化すべき箇所の表示http://smpl.seesaa.net/article/3625720.html

JavaでJSON型のデータを出力するには

JSONICがイイっぽいJSONはJavaで簡単に言うとMapをListにつめた感じ。 http://sham-memo.blogspot.com/2009/10/sastrutsjson.html

サーバでログを出力できない場合

Javaだけに限らないけど、 ログ出力の設定ファイル(log4j.propertiesなど)が何も間違っていないのに、 ログが出力されない場合、ログの出力先のディレクトリの権限がおかしいかも知れない。 APサーバはtomcatとする。まず大前提として tomcatを起動したユー…

Enumをうまく使いこなすには

色々試した結果、Enumを作る際に以下の2点の機能を追加すると便利になった。・Enumの個々の要素にキーや必要な値を持たせ、取得できるようにする。 ・キーを元にEnum自身のインスタンスを取得できるようにする。以下サンプル/** * 信号を定義する列挙型 * *…

例外を起こさずにStackTraceを取得するには

java1.5以上から可能となった。 ・該当のスレッドのスタックトレースのみ取得 Thread.currentThread().getStackTrace(); ・現在稼動している全てのスレッドのスタックトレースを取得 Thread.getAllStackTraces(); スタックトレースの取得 http://www.techsco…

JavaのVMの仕様状況を把握するには

jconsoleを使用する。接続先を指定すればlocalhostだけでなく、LAN上の別PCのVM状況も見れる。 Widowsの場合 ファイル名を指定して実行 "C:\Program Files\Java\jdk1.5.0_14\bin\jconsole.exe"IPとポートを指定して接続 eclipseでtomcatに設定する場合ウィン…

PostgreSQLでは一度エラーがあがると処理を続行出来ない。

PostgreSQLでは例外を通常処理として扱うことが出来ない。

HttpServletRequestでURLの情報を取得するには

request.getRequestURL().toString();部位別に取得する場合は以下を参考 http://book.mycom.co.jp/support/bookmook/tukurujava/

FilenameUtilsのサンプル

コードFile file = new File("C:\\sample\\test\\文章.txt"); 1:file.getPath()); 2:FilenameUtils.getBaseName(file.getPath())); 3:FilenameUtils.getName(file.getPath())); 4:FilenameUtils.getPath(file.getPath())); 5:FilenameUtils.getPathNoEndSepa…

フィールドの値に絶対にExceptionが上がらないものだけ設定する。

アプリケーションプロパティなどは書き漏らしなどの ヒューマンエラーが発生する可能性があるのでフィールドとして指定しない。getter経由で動的に取得するようにする。

システムのテンポラリディレクトリを利用するには

System.getProperty("java.io.tmpdir")でテンポラリディレクトリのパスが取得出来る。

バイナリをダウンロードする際には

Content-Lengthは自分で計算してちゃんと入れましょう! Long fileSize = new Long(appFile.length()); response.setHeader("Content-length", fileSize.toString());

SAStrutsでのActionのプロパティの型について

httpからもらうプロパティは基本的にStringで受け取る。 そうしないとクラスの型が合わずにNumberFormatExceptionなどが発生してしまう。 以下のような流れで処理が走っているらしい。 (strutsの常識?) 1.アクセスされる。http://***.co.jp/hoge/exec/param…

複数のプロジェクトで依存とバージョンをうまく管理するには

root ∟pom.xml ∟root ∟commons-io(ver1.0) ∟httpclient(ver2.0) Aプロジェクト ∟pom.xml ∟root ∟commons-io Bプロジェクト ∟pom.xml ∟root ∟httpclient こうすることでrootでアプリ全体での依存を管理しつつ、 varsionも一元管理できる。

先頭の一行だけ取得するには

cb.query().addOrderBy_LoginDate_Desc(); cb.fetchFirst(1);条件当てはまるものが無い場合nullが返るので注意する

メソッドをインポートして使うには

import static org.junit.Assert.*;シンタックスシュガー継承しなくてもメソッドをインポートして使える

JVMのオプション一覧

http://blogs.sun.com/watt/resource/jvm-options-list.html

GlassFishについて

GlassFishtomcatと同じJavaのAPサーバ。でもエンタープライズなので管理ツールがtomcatよりすぐれているインメモリーレプリケーション機能でセッションを保持出来る。2台構成にしたらレプリケーションして昼間にもリリースできる。 https://glassfish.dev.ja…

プロパティの比較をする時にNull同士の比較も考慮するには

org.apache.commons.lang.builder.EqualsBuilderが便利。 http://www.eisbahn.jp/yoichiro/2005/03/commonslang.html