RM-BLOG

IT系技術職のおっさんがIT技術とかライブとか日常とか雑多に語るブログです。* 本ブログに書かれている内容は個人の意見・感想であり、特定の組織に属するものではありません。/All opinions are my own.*

Java関連

【Javascript】でJavaのStream APIでいうcollectみたいなことをやりたかったんだがreduceしかなかったので仕方なくreduceでやったら思いのほかあっさり出来た上にJavaも結局collectなんか使わなかった件

タイトルの通りなのだが… 仕事の都合でJavascriptで集約処理みたいなことをする必要が出てきて、JavaのStream APIみたいのないかな、というのを探したのがスタートだった。 最初パっと思いついたのは、「JavaのStream APIでいうところのcollectみたいなやつ…

【Java】Java SE 8 Gold挑戦にあたってのJava8言語仕様勉強メモ

Java SE 8 programmer Ⅱ受験にあたってjava8の言語仕様等を勉強して覚えた結果等をここに書き記す。 「Java1.6くらいで言語仕様が止まっているレガシー人間が1.8を学ぼうと自己学習した記録」に近く、ほぼほぼ自分用のメモである。 世間的に言っても大分時代…

【Java】InputStream#readしたバイトデータを出力するときの注意点(自分用備忘録)

InputStream#readしたバイトデータをByteArrayOutputStreamにwriteして、後でFileOutputStreamでファイルに出力する、というのは、割とよく見る作りだけれども、InputStream#readの結果データを格納したbyte配列をそのままFileOutputStreamに渡すと出力結果…

【Java】OraclePrepaedStatementを使ったバインド変数設定方法について

バインド変数を用いたSQLにJavaから動的に値をセットする場合、 Oracleが用意している「OraclePreparedStatement」というのを使うことになる。 (どうもJava標準で用意されてるライブラリやクラス群にはバインド変数に公式に対応しているPreparedStatementは…

【Java】zip圧縮について

javaでzip圧縮する方法のメモ。 ググれば出てくるけど、自分用のメモのために。

【Java】アナグラムの生成ロジック

アナグラムを生成するプログラム。 暇だから作った。 もうすこしスマートなやり方あるんでしょうけども。 個人的な使い方が「ベーシック認証のIDとパスワードの生成」なので 短いながらも予想しづらいランダム風な文字列が作れればなんでもよく、 たまに活用…

【Java】warファイル作成~Webアプリケーション起動までの簡単な流れまとめ

warファイルをつくるための簡単なメモ。

【Java】実行時引数をいろいろ変えてmain(String[] args)の中身を見てみよう

ちょこちょこ気にはなってたんだけどあんまり深く追求しようとしていなかった 起動方法別のmain(String[] args)の捉え方についてまとめる。

【Java】サロゲートペアを出力したり中身を見たりする方法について

Javaでサロゲートぺアを出力したりコードポイントを見たりする方法について

【Java】ファイル名やディレクトリ名に使ってはいけない文字に関するjava.io.File実験

「ファイル名(ディレクトリ名)に使ってはいけない文字」のファイルをJavaで扱った時の挙動について

【Java】MAN WITH A MISSIONの呟きっぽいテキストをつくろう(平仮名⇒片仮名変換)

暇だったので、MAN WITH A MISSION呟き用の変換ロジックをつくった ただ単に「平仮名を片仮名に変換する」というただそれだけのロジックであるが…

【Java】同一パッケージ同一クラス名が別々に存在していた場合(クラス競合時)の挙動に関する実験

ふと思い立ってやってみた実験。 jar内と自作したクラス、もしくはjar同士などで、クラスが競合している場合の動きを実験する。 「競合」って言い方が正しいのかどうかわからないが、要するに 「com.test.Test」みたいなクラスがあったとき、 それとまったく…

【Java】【Oracle】JDBCによるINSERT文実行と一意制約違反のキャッチ方法

JavaでOracleの一意制約違反をキャッチする方法のメモ (まあこれもググれば載ってそうだけど)

【Java】画像ファイルのチェック方法

Javaによる、画像ファイルのチェック方法について。

【Java】CJK統合漢字の一覧を出力するプログラム

ちょっとある目的のためにCJK統合漢字の一覧がほしくなったので自作した簡単なJavaプログラム。 実行すると「all_cjk_kanji.txt」という名前のUTF-8のテキストファイルを同階層に出力する。

【Java】Java1.6/SolarisのSSL通信バグ対応

SOAPで接続していた連携先のシステムに、ある日突然つながらなくなった。 SOAP連携の処理で接続しようとすると以下のようなJavaのStackTraceが出てくる。 … Caused by: java.lang.RuntimeException: Could not parse key values at sun.security.pkcs11.P11K…

【Java】Exceptionを強制throwさせて絶対そこで処理を中断させる

「とにかく何が何でもそこから先の処理にいってほしくない」という場合、 処理を強制的に中断させる目的で無条件にExceptionをthrowするようなコーディングするとコンパイルエラーになる。 ただこれにちょっと手を加えることで、誰がどう見ても明らかに絶対…

【Java】Servletでファイルダウンロードさせる基本的な仕組みとファイル名に関するちょっとした実験

Servletでファイルダウンロードさせる実装のメモ と、ダウンロードファイル名に関するちょっとした実験の結果 ダウンロードの動きを取るかどうかは、最終的にはブラウザに依存するようだが、 レスポンスヘッダ「Content-Disposition」に「attachment」をいれ…

【java】FileFilterメモ

File#listFilesでFileオブジェクトの配列を取得するとき、FileFilterを引数に与えると、取得してくるFileオブジェクトを絞り込むことができる。 ただそのためのFileFilterクラスは自分で自作しないとならない。 FileFilterはインターフェースなので、実装(i…

【java】JSONメモ

JSONライブラリの簡単な使い方メモ

【java】標準出力を闇に葬る(UNIXの> /dev/nullをjava内で再現)

UNIXでいう「標準出力を闇に葬る」のやりかた、すなわち↓ echo AAA > /dev/null をjavaの中でだけ実現するやり方のメモ(Windows向け)

【java】サロゲートペア置換

いろいろ探したのだが、個人的に求めている「コレ!」というコーディングサンプルが見つからなかったので 自分なりに作ってみた「サロゲートペア置換」のjava実装。 (もっとスマートなやり方はないものだろうか) やりたかったのは「サロゲートペアを元の文…

【java】XMLからXSLを通じてHTMLを出力する整形をJavaで指示する

XMLをXSLを通じてHTMLに変換するやり方のサンプル(javaソース)

【java】WSDL2Javaの使い方メモ

WSDLをjavaソースにする方法。 ググれば出てくるが…… ※前提としてaxis.jarが必要。(↓のURLから入手) http://axis.apache.org/axis/ja/java/user-guide.html

【java】Serializableについて2(改行を含むデータを出力する)

DBからデータを取得する(SELECTして結果をResultSetで受け取る)のは比較的簡単なので、 受け取った結果をStringにしてしまえばあとはBufferedWriter使って出力するのはそれほど難しくはない。 ただ、DBのほうに改行が入っているような場合、 CSVやTSV等、…

【java】Serializableについて

javaにはオブジェクトの内容をそのままファイルにして出力したり、そのファイルを読み込んでオブジェクトとして復帰させる方法が存在する。 Serializableというインターフェースを実装することでそれが可能になる。 ある目的のために少し勉強したことがある…

【java】文字列をMD5ハッシュ化

与えられた文字列をMD5でハッシュ値に変換する方法のメモ

【java】Listについて

勘違いしていたというか、内心ちょびっとだけ「そんなにうまくはいかないか」と思っていたら実際そうだったんだが、 java.util.Listは=で同じ型の別変数に移しても内容が維持されるらしい。 2つの異なる変数間で同じメモリの内容を共有するようになるという…

【java】時間の加算とオフセットの扱い

javaで時間を加算する実装例。 ストレイテナーのシミュレーションするときにテスト的にやったのでメモとして残す。 特に「時」(Hour)の部分がない文字列からDateFormatを通して時間に変換した後、別の時間と合計する場合は、 オフセットを適切な箇所に加算…

【JAVA】native2asciiのpropertiesファイルを復元

全角文字を含む値(VALUE)を持つjavaのpropertiesファイルは、使用する環境を考慮してか得てしてnative2ascii化されていることが多い。 よって、メモ帳やらサクラエディタ等の、一般的なテキストエディタで開くとこんな感じに見えてしまう↓ test.key=\u30d5…