日々学んだことを残しておこう。きっと未来の自分が探しにくる。 (ただ忘れっぽいだけです…)

Java Zip作成 空フォルダも圧縮させる


バッチ処理の一貫で、ちょっとJavaのプログラムでZipファイルを作成しないといけなくて、こちらのサイトを参考にしました。

結構分かりやすく書いてもらっているので、ためになりました。

(参考サイト)
Java ZIP圧縮する方法 ディレクトリ指定やファイル指定 – ZipEntry・ZipOutputStream

とてもよい記事なんですがハマったところが2つあったので、メモしておきます。
①フォルダ構成
このままのソースだと、Zipファイルの位置とフォルダの位置が同じでないとダメでした。
まっ、作成したあとに移動すれば良いので、それはOK。
最初気が付かなくて、適当にセットしていてあれってなりました。

②空フォルダの取り扱い
中にファイルが入っていない場合、空のフォルダが圧縮されませんでした。
一体どこを修正すれば良いのかソースを追ってここなかと分かったのですが、そもそも空フォルダをどうやって指定するのか。。。

こちらにヒントが。
「名前の最後に"/"を付けてやるとフォルダと認識される」
ZipEntry dir1 = new ZipEntry("dir1/");

(参考サイト)
空フォルダを含むZIPファイルの作成について

ということなので、ソースを以下のように変更。
files.length == 0の時に、フォルダ名に"\\"足したものを追加するようにしました。
こんな感じ。

/**
* ディレクトリ圧縮のための再帰処理
*
* @param outZip ZipOutputStream
* @param baseFile File 保存先ファイル
* @param file File 圧縮したいファイル
*/
private static void archive(ZipOutputStream outZip, File baseFile, File targetFile) {
if ( targetFile.isDirectory() ) {
File[] files = targetFile.listFiles();

//add start 空フォルダも圧縮するように
if(files.length == 0){
archive(outZip, baseFile, targetFile, targetFile.getAbsolutePath().replace(baseFile.getParent(), "").substring(1) + "\\", "Shift_JIS");
}
//add end

for (File f : files) {
if ( f.isDirectory() ) {
archive(outZip, baseFile, f);
} else {
if ( !f.getAbsoluteFile().equals(baseFile) ) {
// 圧縮処理
archive(outZip, baseFile, f, f.getAbsolutePath().replace(baseFile.getParent(), "").substring(1), "Shift_JIS");
}
}
}
}
}


2014-11-12 : Java : コメント : 0 : トラックバック : 0
Pagetop

powershell 複数行 コメント


powershellのコメントは#ですが、複数行コメントしようとしてどうするんだと。

powershell 1行コメント


#コメント書く
#コメント書く
#コメント書く

powershell 複数行コメント


まとめてコメントアウトするとき、#だけだとしんどいので、以下を使う。
<#
コメント書く
コメント書く
コメント書く
コメント書く
コメント書く
#>
2014-11-11 : サーバ管理 : コメント : 0 : トラックバック : 0
Pagetop

windows server 2012でコア別CPU使用率グラフ表示



いままで、windows server 2008では標準でコア別のCPU使用率表示が確認できたけど、2012になったら、デフォルトでコア別で表示されていない。

ちょっと迷ったのでメモ。このあたりがバージョンでコロコロ変わるところが。。。

windows server 2012でコア別CPU使用率グラフ表示する方法


タスクマネージャーを表示

CPUグラフを右クリック

グラフを変更

デフォルトでは、[全体的な使用率]になっているので、
[論理プロセッサ]に変更

これでOK。

(参考サイト)
タスク・マネージャのパフォーマンス・タブの見方(Windows 8/Windows Server 2012編)
2014-11-04 : サーバ管理 : コメント : 0 : トラックバック : 0
Pagetop
ホーム

広告

読みたいと思っている書籍

Amazon Web Services クラウドネイティブ・アプリケーション開発技法 一番大切な知識と技術が身につく Amazon Web Services 定番業務システム12パターン 設計ガイド イラストで学ぶ 機械学習 最小二乗法による識別モデル学習を中心に (KS情報科学専門書) イラストで学ぶ ディープラーニング (KS情報科学専門書)

カウンタ

メールフォーム

名前:
メール:
件名:
本文:

GoogleTranslate

管理人のつぶやき

人気記事ランキング

カテゴリ

openclose

ブログ内検索

全記事表示リンク

全ての記事を表示する

ブログパーツ