B-Teck!

お仕事からゲームまで幅広く

Java

【Java/Kotlin】resourcesディレクトリにあるファイルを読む

ルートからの絶対パスで指定したリソースファイルを取得するスニペット。 IOExceptionはそのまま外に投げているので必要があればcatchしてリカバリーまで書くこと。 Java Kotlin Java import java.io.BufferedReader; import java.io.IOException; import ja…

【Java】ImmutableなCollectionをJavaで扱う

finalの挙動 インスタンスイニシャライザ 操作できないCollectionを作る インスタンスイニシャライザと組み合わせ finalの挙動 Javaのfinalは宣言した変数への代入を禁止するだけで、変数が持っているインスタンスの内容は変更できてしまう。 そのため、Coll…

【Kotlin/Java】Jersey2でファイルアップロードを扱う

Jersey2でファイルアップロードを扱うときの方法を書いている記事があまり見つからなかったのでメモ。 StackOverfrowで見つけた。 java - Upload data method in REST web service - Stack Overflow アップロードされたファイルはbyte配列かInputStreamで扱…

【Java/Kotlin】URI Template(RFC6570)の仕様に則ってURL文字列に変数をセットする

"http://example.com/name/{name}/age/{age}"のような文字列に対して変数を割り当てたいとき、 javax.ws.rs.core.UriBuilderが利用できる。 URI文字列がqueryも含む場合は、 UriBuilder.fromUri() を利用すると良い。 Javaの場合 import javax.ws.rs.core.Ur…

【Java/Kotlin】BufferedReaderの今風な書き方を調べてみた

Javaで書かれたBufferedReaderの処理をKotlin化する中で、 イマドキのJavaでの扱い方と、Kotlinの場合どう書くかを調べてみました。 いにしえの書き方(Java) いまふうの書き方(Java) Kotlinで書くと…? サンプルはすべてsomeStream という入力を連結する場合…

【Java】JAX-RSの自分用メモ

JAX-RSとは? JavaEE6から入ったRESTful APIを作成するのに適したフレームワーク。 JAX-RSの使い始め方 JAX-RSに対応したサーバはApplicationのサブクラスを検知すると、 後述のリソースクラスなどを読み込んで自動で立ち上がってくれる javax.ws.rs.core.Ap…

【Java】半角カナ判定

正規表現 U+FF65「・」(半角カナ中黒)~U+FF9F「゚」(半角半濁点)の範囲で判定する。 細かい各メソッドの挙動とかは下記を参照。 https://docs.oracle.com/javase/jp/8/docs/api/java/util/regex/Pattern.html https://docs.oracle.com/javase/jp/8/docs/a…

【Java】文字列の空白埋め、0埋め

String.formatで桁数を揃えたあとreplaceで空白を任意の文字に置き換えることで、0埋めができる。 public static void main (String[] args) throws java.lang.Exception { System.out.println(zeroPadding("12345",10)); // 0000012345 System.out.println(…

【Java】文字列の後ろの半角・全角スペースをtrimみたいに消したい

経緯 仕事で、文字列の末尾だけ半角・全角問わず消したいってことで色々調べてみたんだけど、 trimの実装パクって末尾だけ対応させたらいいんじゃね?みたいな そんなわけでtrimを調べてみたら、半角スペースにしか対応してなかった 最終的にこんなソースに…

【Java/C#】オーバーライドと仮想関数 -JavaとC#の違いとか-

Javaを触った後C#を触って、メソッドのオーバーライドと仮想関数の話で???ってなったんでメモ代わりに。 Java Javaで普通に継承してオーバーライドをするとこう。 fooクラスのインスタンスのtwoは当然fooクラスで定義されたtwoメソッドが呼ばれる。 publi…

【Java/Servlet】フォワードとリダイレクトの違い

JavaのServletを用いて作成されるWEBアプリケーションで、機能間の遷移を行う方法について ・フォワード 取得したリクエストを、別プログラムへのリクエストとして解釈し、内部で処理を引き渡す。 ・A内でBへのリクエストとして解釈され、処理が行われるため…