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

JAXRSによるRESTAPI作成方法

業務でJavaによりWEBAPI(Rsetful API)を作成する機会ががあったのでちょっとメモしておきます。 Contents1 RestAPIとは2 プログラムの作成方法について RestAPI …

no image

Javadocに関して

業務で社内で使うクラスライブラリを作成中です。 他人に使ってもらうものなのでコメントやドキュメント周りの整備が必要になり、javadocをしっかり作りたいと思っています。 Contents1 java …

no image

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

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

no image

Fileのアップロード

業務でCSVのアップロードを行っていますが、ファイルになりますと当然文字列ではなく、バイナリ形式のデータが必要になります。 アップロード自体の処理を書いていなかったので、その扱い方についてちょっと書い …

no image

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

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

アーカイブ