try-with-resources文(try~chatchにおけるリソース解放処理の効率的な書き方)
Java SE 7 よりtry~chatchにおけるリソース解放処理を簡素に記述できるようになった。
<try-with-resources文を使わない場合>
FileInputStream fs = null;
try {
fs = new FileInputStream(filePath);
(ファイル処理)
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fs != null) {
try {
fs.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
<try-with-resources文を使う場合>
try ( FileInputStream fs = new FileInputStream(filePath); ) {
(ファイル処理)
} catch (IOException e) {
e.printStackTrace();
}
※try()の括弧中で生成したリソースについては、処理終了時、結果にかかわらずcloseされる。
※try-with-resources文が利用できるクラスは、AutoCloseableインタフェースおよびそのサブインタフェースであるCloseableインタフェースの実装クラスに限られる。
関数でファイルパス・ファイル名を取得する
■ファイルパス
=CELL("FILENAME")
■ファイル名
=REPLACE(LEFT(CELL("filename",A1),FIND("]",CELL("filename",A1))-1),1,FIND("[",CELL("filename",A1)),)
Tomcat開発環境構築メモ
1)Eclipse(Pleiades All in One パッケージ)のダウンロード
Pleiades 公式サイト(http://mergedoc.sourceforge.jp/)
今回ダウンロードしたのは Pleiades All in One 4.7.2.v20171225(Java Windows 64bit Full Edition)
※Full Edition は JDK、Tomcat が同梱されている。ただしTomcatプラグインは同梱されないため別途ダウンロードする(後述)。
※今回は C:\pleiades に展開。
2)JDK の Path 設定
「C:\pleiades\java\8\bin」 を環境変数Pathに設定する。
Eclipseを起動し、メニューバーの「ウィンドウ」→「設定」を選択。
左側の一覧から「Java」→「インストール済みのJRE」を開き、
インストール済みのJRE…ロケーション「C:\pleiades\java\8」の「java8」にチェック
4)Eclipse Tomcat Plugin のインストール
Eclipse Tomcat Plugin ダウンロード先(
https://sourceforge.net/projects/tomcatplugin/files/)
Eclipseのメニューバーの「ヘルプ」→「新規ソフトウェアのインストール」を選択。
「追加」→「アーカイブ」でダウンロードしたzipファイルを選択し、次の画面で
「Tomcat Plugin」が表示されたらチェックしてインストールし、Eclpseを再起動する。
Eclipseのメニューバーの「ウィンドウ」→「設定」を選択。
左側の一覧から「Tomcat」を選択し、以下の設定を行う。
Tomcatバージョン:「バージョン 8.x」を選択
Tomcatホーム:「C:\Pleiades\tomcat\8.0」を設定
左側の一覧から「Tomcat」→「JVM設定」を選択肢、以下の設定を行う。
JRE:「java8」を選択
6)パースペクティブを開く
Eclipseのメニューバーの「ウィンドウ」→「パースペクティブを開く」→「その他」で「パースペクティブを開く」を選択。
一覧から「Java EE」を選択。
※ツールバー上にTomcatプラグインの「Tomcat起動、停止、再起動」のアイコンが表示される。
※「Tomcat起動」のアイコンをクリックすると、Tomcatが起動され、「http://localhost:8080/」でTomcatにアクセスできる。
バッチファイル内で日時文字列(YYYYMMDD、HHMMSS)を取得する
バッチファイル内で日付、日時を取得するには
以下の通りに記述する。
<バッチファイル>
@echo off
rem 現在日付(YYYYMMDD)の取得
set date_str=%date:~-10,4%%date:~-5,2%%date:~-2,2%
echo %date_str% ←確認
rem 現在時刻(HHMMSS)の取得
set time_str=%time: =0%
set time_str=%time_str:~0,2%%time_str:~3,2%%time_str:~6,2%
echo %time_str% ←確認
<実行結果>
C:\> datestr.bat
20171006
123456
C:\>
PowerShellでTCPポートの確認を行う方法
telnetコマンドのないWindowsでのTCPポート確認などで使える方法。
- TCPクライアントオブジェクト生成(socket生成)
PS C:\> $tc = New-Object System.Net.Sockets.tcpClient - ターゲットへ接続(IP/ホスト、ポート番号)
PS C:\> $tc.connect("192.168.0.1", 80) - 状態確認(接続可能ならTrueが返る)
PS C:\> $tc.connected
True - TCPクライアントオブジェクトの解放
PS C:\> $tc.close()
※ポートが開いていない場合は以下の様に出力される。
PS C:\> $tc.connect("192.168.0.1", 81)
"2" 個の引数を指定して "Connect" を呼び出し中に例外が発生しました: "対象のコンピューターによって拒否されたため、接続できませんでした。 192.168.0.1:81"
発生場所 行:1 文字:12
+ $tc.connect <<<< ("192.168.0.1", 81)
+ CategoryInfo : NotSpecified: (:) []、MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodException
FCIV によるハッシュ値の取得
1.FCIVツールをマイクロソフト(以下のURL)よりダウンロードし、任意のパス設定済みのディレクトリに配置する。
2.コマンドプロンプトより実行する
> fciv -md5 xxxxxx.xxx
> fciv -sha1 xxxxxx.xxx
※実行例
> fciv -md5 xxxxxx.xxx
//
// File Checksum Integrity Verifier version 2.05.
//
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX xxxxxx.xxx
> fciv -sha1 xxxxxx.xxx
//
// File Checksum Integrity Verifier version 2.05.
//
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX xxxxxx.xxx
certutil によるハッシュ値の取得(コンテキストメニューに追加する)
<コマンドでの実行方法>
> certutil -hashfile (ファイル名) md5
> certutil -hashfile (ファイル名) sha1
※実行例
> certutil -hashfile xxxxxx.xxx md5
MD5 ハッシュ (ファイル javascript-promise-book.pdf):
XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
CertUtil: -hashfile コマンドは正常に完了しました。
> certutil -hashfile xxxxxx.xxx sha1
SHA1 ハッシュ (ファイル javascript-promise-book.pdf):
XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
CertUtil: -hashfile コマンドは正常に完了しました。
<コンテキストメニューへの追加>
以下のレジストリファイルを作成し、ダブルクリックして登録する事で、
コンテキストメニューにそれぞれのキーの取得操作が追加される。
----------------------------------------------------------------------------------------------------
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\MD5]
@="MD&5を取得"
[HKEY_CLASSES_ROOT\*\shell\MD5\command]
@="cmd /c certutil -hashfile \"%1\" MD5|findstr -v \":\"|clip"
[HKEY_CLASSES_ROOT\*\shell\SHA1]
@="SHA&1を取得"
[HKEY_CLASSES_ROOT\*\shell\SHA1\command]
@="cmd /c certutil -hashfile \"%1\" SHA1|findstr -v \":\"|clip"
----------------------------------------------------------------------------------------------------
Excel の全シート名をテキストで取得する方法
※Excel2013の場合
- Visual Basic Editorを起動する(ALT + F11)
- イミディエイトウインドウ表示する(Ctrl + G)
- For Each i In ThisWorkbook.Sheets: debug.print i.name : next i
と入力し、Enter で実行する。
すると、下に全シート名が出力されます。
Excelセットアップ時の初期設定メモ
※Excel2013の場合
1)起動時、シート追加時の既定テンプレートを設定する
適応させるテンプレートを作成し、以下のパスに「Book.xltx」、「Sheet.xltx」として保存する。
C:\Users\(ユーザー名)\AppData\Roaming\Microsoft\Excel\XLSTART
2)エクスプローラの新規作成メニューで、テンプレート適応済みのワークシートを作成する
テンプレートを適応させたExcelブックを作成し、以下のパスに「EXCEL12.XLSX」として保存する。
(テンプレート(.xltx)ではなく、ブック(.xlsx)であることに注意!)
C:\Windows\ShellNew
3)開発タブを有効にする
ファイル→オプション→リボンのユーザー設定→「開発」にチェック。
消せないフォルダを削除する方法
※対応は自己責任で。
※Windows7での対応方法
C:\> takeown /r /f C:\6f8fbe17f4d2099649d91f3c950bce66
成功: ファイル (またはフォルダー): "C:\6f8fbe17f4d2099649d91f3c950bce66" は現在
ユーザー "domain\username" によって所有されています。
成功: ファイル (またはフォルダー): "C:\6f8fbe17f4d2099649d91f3c950bce66\MRT.exe"
は現在ユーザー "domain\username" によって所有されています。
C:\> icacls C:\6f8fbe17f4d2099649d91f3c950bce66 /grant Everyone:F /T
処理ファイル: C:\6f8fbe17f4d2099649d91f3c950bce66
処理ファイル: C:\6f8fbe17f4d2099649d91f3c950bce66\MRT.exe
2 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした
C:\> takeown /r /f C:\b22328f8df9fa05cc3a1d6
成功: ファイル (またはフォルダー): "C:\b22328f8df9fa05cc3a1d6" は現在ユーザー "d
onald\nakani" によって所有されています。
成功: ファイル (またはフォルダー): "C:\b22328f8df9fa05cc3a1d6\MRT.exe" は現在ユ
ーザー "domain\username" によって所有されています。
C:\> icacls C:\b22328f8df9fa05cc3a1d6 /grant Everyone:F /T
処理ファイル: C:\b22328f8df9fa05cc3a1d6
処理ファイル: C:\b22328f8df9fa05cc3a1d6\MRT.exe
2 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした
C:\> takeown /r /f C:\ed04782343e7662aa09d46213097
成功: ファイル (またはフォルダー): "C:\ed04782343e7662aa09d46213097" は現在ユー
ザー "domain\username" によって所有されています。
成功: ファイル (またはフォルダー): "C:\ed04782343e7662aa09d46213097\MRT.exe" は
現在ユーザー "domain\username" によって所有されています。
C:\> icacls C:\ed04782343e7662aa09d46213097 /grant Everyone:F /T
処理ファイル: C:\ed04782343e7662aa09d46213097
処理ファイル: C:\ed04782343e7662aa09d46213097\MRT.exe
2 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした
C:\>
以上でフォルダに対する権限が付与され、ごみ箱に移動(削除)することが出来る。