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

Mapからインスタンス変数、インスタンス変数からMapへ

Javaで変数を引き回すときにMapからインスタンス、インスタンスからMap、あるインスタンスから別のインスタンスに変数を差し替える作業って結構多いと思います。 これって普通にやるとMapのget,p …

no image

日付けのメソッド その2

以前、時刻を扱うエントリーではCalendarクラスとDateクラスを使いましたが、Java8で標準になったTimeAPIについて調べてみます。 Contents1 現在時刻の出力2 任意時間の出力3 …

no image

フィールド以外のプロパティをエンティティに持たせる

JPAでは基本的に1テーブル、1クラスです。 このためプロパティは必然的にテーブルのフィールドに対応しています。 ただ、必ずしもプロパティだけでなく、臨時で持たせておきたい、プロパティがあったりします …

no image

複合コンポーネント

JSFではラベルやテキストといったコンポーネントをグループ化し、一つのまとまりとすることができます。 メリットとしては似たような部分をテンプレート化しておくことで保守性を向上させることができます。 さ …

no image

jenkins構築

いままでjenkinsについての記事を書いていなかったので記録しておこうと思います。 Contents1 jenkins構築2 設定ファイル変更(ポート&URL変更)3 セキュリティ有効化 jenki …