Index > Index (March 2009)

Index (March 2009)

Wed, March 11, 2009

Jythonで特定の拡張子を持つファイルだけをリストアップしたい java.io.FileFilter の利用

ちょっとした作業で、特定拡張子を持つファイルだけをリストアップしたくなることは多い。 そんなときにいつも使っている jython スクリプト。

続きを読む

Tue, March 10, 2009

JavaからWindowsの作業用ディレクトリを取得する方法

以前エントリー「 Windowsにおいて、Javaプログラムからユーザのホームディレクトリを取得する方法 」で、 Windowsのホームディレクトリを取得しましたが、今回作業用のディレクトリが必要になりました。

単にテンポラリファイルをつくる場合は、java.io.Fileの createTempFile() メソッドを呼べばよい。 しかし、Java実行時のディレクトリがもし書き込み権限がなかった場合などを考えると、 確実に作業用ファイルを作成できるディレクトリがほしい。

続きを読む

Mon, March 9, 2009

Javaでディレクトリを確実に削除するコード

Java.io.Fileには、delete() というメソッドがあるので、それを呼び出せば、ファイルやディレクトリは削除できる。 ただし、ディレクトリの場合、その中にファイルやサブディレクトリがあると削除が失敗する。
そこで以下のように再帰的にサブディレクトリにさかのぼって、ファイルを消した上で、ディレクトリを消すという 方法で、削除する。

続きを読む

Mon, March 9, 2009

Javaでzipを展開して、再度zipアーカイブを作成 ... OfficeOpenXMLデータの操作のために

MSOffice2007 では、docx,xlsx,pptx のように 拡張子に x が追加されているが、 この実体は、zip ファイルで中身はXML等で構成されている。 したがって、 データファイルだけを展開して中身を書きかえて、再度 zip アーカイブに戻してやれば、 MSOffice なしで、内容を操作することができる。

今回はそのためのJavaコード。
このサンプルでは中身の操作は一切しないで、単に既存の sample.pptx ファイルを作業ディレクトリに展開して、 その後、result.pptx ファイルにzipアーカイブとして保存しているだけ。

続きを読む

Mon, March 9, 2009

テキストファイル中の文字列 png を eps に置き換えるコード

現在、DocBookデータを構造化FrameMakerに流し込む・・・という仕事をしているのだが、 そのとき、DocBookはoxygenで編集しているが、oxygenはepsデータを表示できないため、 いったん png に置き換えてDocBook作成作業をしている。

しかし、FrameMakerに取り込む段階になって、拡張子を eps に戻してやる必要がある。 sedとかawkなんかでごく簡単に処理できるのではないかと思いつつも、とりあえず慣れているJavaで 取り急ぎ変換コードを作成したので、メモしておきます。

ご注意

行単位で処理しているのですが、一行に2回以上置き換えの必要が生じる場合に、最初だけしか置き換えられません。 たぶん簡単に改良できるはずですが、いまのところ、そんな不具合あります。

続きを読む

 Twitter
follow me on Twitter
 Categories
 Archives