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

Javaでの文字コード判定、変換

Javaにて文字コード判定の処理を書きます。 Contents1 通常の文字コードの判定、変換2 ファイルの文字コード判定、変換2.1 juniversalchardet2.1.1 ダウンロード2.1 …

no image

Messageプロパティの設置方法

JavaEEに限らず、エラーメッセージなどは通常、プログラムの中に書くのではなく、できればエラーメッセージファイルの中で管理するのが望ましいでしょう。 またJSF側の名称の表示なども直接xhtmlの中 …

no image

persistence.xmlのプロパティについて

JavaEEではデータベースとの設定情報はpersistence.xmlに記述します。 (ユーザー名、パスワード、ポート、driver名、データベース名などの情報はglassfish-resource …

no image

mavenのリモートリポジトリについて

JPAでO/Rマッパーに慣れてからというもの通常のSQLをごりごり書くのが億劫になってきました。 億劫というかいろいろとリスクがありますね。 問題点としてはコンパイルするときにエラーが検知できなかった …

no image

DBUtils活用

普段はJavaEEで開発を行っているのでデータベースへのアクセスはJPAを活用しています。 ただ、JavaEE環境だとglassfish経由でデータベースを動かしているので、glassfishを動かさ …