skillup

技術ブログ

Java

Fileオブジェクトの操作

投稿日:2015年4月23日 更新日:

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

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

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

JavaEEでリダイレクトを伴うデータ入出力(flashの活用)

JavaEEで何らかの処理を行い、リダイレクトさせる場合、リダイレクト前のデータを保存し、リダイレクト後のページにデータをもちこしたいときなどがあると思います。 オブジェクトの変数自体はスコープアノテ …

no image

StreamのMap処理

Javaのstreamですが知れば知るほどいろいろな機能がありますね。 基本的にプログラムって配列(コレクション含む)とオブジェクトの処理が中心になるので、配列の処理をいかにうまくできるかは非常に大事 …

no image

Map,KeySetでのSteam

日常で一番よく使うMapループ系処理について Map KeySetのStreamでの書き方 Map<String,String>でEntrySetではなく、KeySetで展開したいときなど …

no image

イテレーターに関して

Javaの繰り返しでイテレーターという概念がありますね。 今はあまり使われなくなっているようですが、資格の勉強をしていたら出てきたのと、たしなみとして知っておく必要があるため、記述します。 ソース [ …

no image

Javaのオブジェクト指向に関して

Contents1 staticメソッド2 アクセス修飾子3 抽象クラス3.1 オーバーライド(親クラスのメソッドを上書きすること)3.2 オーバーロード(同名メソッドを複数もつこと)4 interf …

アーカイブ