skillup

技術ブログ

Java

Fileオブジェクトの操作

投稿日:

業務でテキストファイルを読み込んで、別形式に変換して出力みたいなアプリを作ったときにファイルオブジェクトについていろいろ調べたんでまとめておきます。

ファイルオブジェクトとは?

Javaでファイルパスを与えることでインスタンス生成できます。そのパスが存在しているのか、ファイルなのか、ディレクトリなのか、ディレクトリなら同階層にどんなファイルがあるかなど様々なことが調べられてかなり使えます。

PHPよりこういうライブラリが充実しているのがありがたいところ。

正式なAPIはこちら

まずインスタンスですが以下のようにして生成できます。
File オブジェクト名 = new File(ファイル名);

頻出メソッド

上記でリンクを張ったAPIからのコピペですが、網羅するよりは頻度的に集めたほうが役に立つと思うのでリスト化します。

パスが存在しているか

boolean exists()

この抽象パス名が示すファイルまたはディレクトリが存在するかどうかを判定します。

パスの取得

String getPath()

この抽象パス名をパス名文字列に変換します。

ファイルか、ディレクトリかの判定

boolean isDirectory()

この抽象パス名が示すファイルがディレクトリであるかどうかを判定します。
boolean isFile()

この抽象パス名が示すファイルが普通のファイルかどうかを判定します。

ある階層のファイルを全取得

File[] listFiles()

この抽象パス名が示すディレクトリ内のファイルを示す抽象パス名の配列を返します。

匿名クラスで展開とかすると拡張子の選択とかできるんですが、再起処理が難しかったのでつかいません。

ちなみに以下が自分の作ったサンプル。

これはかなり汎用的で今後も使いそうな感じです。

ディレクトリ作成

boolean mkdir()

この抽象パス名が示すディレクトリを生成します。
boolean mkdirs()

この抽象パス名が示すディレクトリを生成します。存在していないが必要な親ディレクトリも一緒に作成されます。

下のメソッドはC:\aaa\bbb\cccc\ddd.txtというパスにファイルを保存したいときに、bbbとcccがなければ一気に作ってくれます。

これないと大変ですね・・・

 

-Java

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

Listの簡便な書き方

このエントリーともかぶりますが、リストにクラスを代入するときの簡便な書き方の紹介です。 名前と年齢のプロパティをもつ簡単なクラス(Hoge)をListに格納しようとします。 普通に書くと [crayo …

no image

型パラメータに関して その2

Javaでオブジェクト指向に基づいたコーディングをするために必須であり、最初の難関だったのが型パラメータでした。 Contents1 型パラメータが必要なケース2 型パラメータの制限3 クラスインスタ …

no image

CentOS上にglassfish構築+arquillianテスト

JavaEEの開発でアプリケーションサーバーとしてglassfishを使っています。 今回、CentOS(ver6.6)に立てる機会があったので、そのネタを共有したいと思います。 Contents1 …

no image

pretty-configでのファイルアップロード

先日、こちらのエントリーでpretty-configを使うとファイルのアップロードができない、というエラーが起こっていたのですが、本日社長により解決していただきました。 原因としてはURLがスラッシュ …

no image

メソッドのtransient

エンティティを作成するときに、データベースのカラムにない値をプロパティを持たせるためにはtransientという修飾子が必要です。 参考リンク フィールド以外のプロパティをエンティティに持たせる 通常 …