「Java」タグアーカイブ

【Java】文字列が半角スペースのみの文字列かチェックする

仕事で「文字列に含まれるのが半角スペースのみであること」をチェックする処理が必要になりました。

最初はString.trim()した後に、空文字であれば半角スペースのみと判定できると思ったのですが、String.trim()のJavadocには以下のように書いてあります。

値がこの文字列で、先頭と末尾のすべてのスペースが削除され、コード・ポイントが‘U+0020’ (空白文字)以下の文字でスペースが定義されている文字列を返します。
Returns a string whose value is this string, with all leading and trailing space removed, where space is defined as any character whose codepoint is less than or equal to ‘U+0020’ (the space character).

つまり、String.trim()は半角スペースだけでなくタブ、改行コードなども削除されてしまい、今回の要件に合いませんでした。

String.trim()を使う案はやめて、私が結局使ったのは以下のコードです。半角スペースを空文字に置換して、最終的に空文字であるかという判定です。(正規表現は苦手なのでやめました。。。)

こちらのコードは以下のGithubリポジトリにも置きました。
my-java-snipet/MyStringUtil.java at main · glasses-se-hub/my-java-snipet · GitHub

もっと格好よくできそうですが、自分は格好良さより他の人が理解しやすいコードが書きたいと思ってます。( *`ω´) 


Azure Files(ファイル共有)をJava SDKで触ってみた

仕事でAzure Filesを使うことになり、JavaのWebアプリからアクセスする要件があり、ファイル作成、削除などの基本的な操作をAzure Java SDKでできるか確認した。

基本的には、以下のMicrosoft公式の実装サンプルを試してみた。
https://docs.microsoft.com/ja-jp/azure/storage/files/storage-java-how-to-use-file-storage?tabs=java

ほとんどそのまま使えるものであったが、以下のファイルアップロードだけそのままでは使えなかった。

「fileClient.create(1024)」と書かれているが、ここはファイルの最大サイズを指定するらしく、このままでは1KBのファイルまでしかアップロードできなかった。以下のように修正して、事前にファイルサイズを指定するよう変更した。(21行目)

ソース全体は以下のGithubリポジトリにアップロード済み。
https://github.com/glasses-se-hub/azure-files-java-sdk

自分で作りたくないので、もうちょっと公式に実装サンプルがあるとうれしい。( º﹃º` )ダラ~


[Maven] mvnコマンドをPowerShellを使う場合の注意点

引き続き、以下の参考書にてMavenの学習中。
Javaビルドツール入門 Maven/Gradle/SBT/Bazel対応

しかし、またまたしても参考書通りに実行するとエラーになってしまったので、対応方法の記録↓

JavaFXのプロジェクトを作成した際、エラーが発生しました。
↓実行コマンド

mvn archetype:generate -DarchetypeGroupId=org.codehaus.mojo.archetypes -DarchetypeArtifactId=javafx

↓発生したエラー

エラーメッセージを見ると「The goal you specified requires a project to execute but there is no POM in this directory」とあり、まったくもって心当たりがない。POMがないとあるが、これからプロジェクトを作成するので、無いのは当たり前では??

いろいろ調べた結果、PowerShellで実行する場合、パラメータをダブルクオートで括る必要がありました。

mvn archetype:generate “-DarchetypeGroupId=org.codehaus.mojo.archetypes” “-DarchetypeArtifactId=javafx”

うまくいきました!

ちなみに、コマンドプロンプトではダブルクオートは不要でした。

また、参考書通りにいかず焦りました。。。(;´д`)=3トホホ・・