Java-file-class

提供:Dev Guides
移動先:案内検索

Java-ファイルクラス

Java Fileクラスは、ファイルとディレクトリのパス名を抽象的な方法で表します。 このクラスは、ファイルとディレクトリの作成、ファイルの検索、ファイルの削除などに使用されます。

Fileオブジェクトは、ディスク上の実際のファイル/ディレクトリを表します。 以下は、Fileオブジェクトを作成するためのコンストラクターのリストです。

Sr.No. Method & Description
1

File(File parent, String child)

このコンストラクタは、親の抽象パス名と子のパス名文字列から新しいFileインスタンスを作成します。

2

File(String pathname)

このコンストラクタは、指定されたパス名文字列を抽象パス名に変換することにより、新しいFileインスタンスを作成します。

3

File(String parent, String child)

このコンストラクターは、親パス名文字列と子パス名文字列から新しいFileインスタンスを作成します。

4

File(URI uri)

このコンストラクタは、指定されたfile:URIを抽象パス名に変換することにより、新しいFileインスタンスを作成します。

_File_オブジェクトを手に入れると、ファイルを操作するために使用できるヘルパーメソッドのリストが表示されます。

Sr.No. Method & Description
1

public String getName()

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

2

public String getParent()

この抽象パス名の親のパス名文字列を返します。このパス名が親ディレクトリに名前を付けていない場合はnullを返します。

3

public File getParentFile()

この抽象パス名の親の抽象パス名を返します。このパス名が親ディレクトリに名前を付けていない場合はnullを返します。

4

public String getPath()

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

5

public boolean isAbsolute()

この抽象パス名が絶対かどうかをテストします。 この抽象パス名が絶対の場合はtrue、そうでない場合はfalseを返します。

6

public String getAbsolutePath()

この抽象パス名の絶対パス名文字列を返します。

7

public boolean canRead()

この抽象パス名が示すファイルをアプリケーションが読み取れるかどうかをテストします。 この抽象パス名で指定されたファイルが存在し、アプリケーションで読み取ることができる場合にのみtrueを返します。そうでない場合はfalse。

8

public boolean canWrite()

この抽象パス名が示すファイルをアプリケーションが変更できるかどうかをテストします。 ファイルシステムにこの抽象パス名で示されるファイルが実際に含まれており、アプリケーションがファイルへの書き込みを許可されている場合にのみtrueを返します。そうでない場合はfalse。

9

public boolean exists()

この抽象パス名が示すファイルまたはディレクトリが存在するかどうかをテストします。 この抽象パス名が示すファイルまたはディレクトリが存在する場合にのみtrueを返します。そうでない場合はfalse。

10

public boolean isDirectory()

この抽象パス名が示すファイルがディレクトリかどうかをテストします。 この抽象パス名が示すファイルが存在し、ディレクトリである場合にのみtrueを返します。そうでない場合はfalse。

11

public boolean isFile()

この抽象パス名が示すファイルが通常のファイルかどうかをテストします。 ファイルがディレクトリではなく、さらにシステムに依存する他の基準を満たしている場合、そのファイルは正常です。 Javaアプリケーションによって作成されたディレクトリ以外のファイルは、通常のファイルであることが保証されています。 この抽象パス名が示すファイルが存在し、通常のファイルである場合にのみtrueを返します。そうでない場合はfalse。

12

public long lastModified()

この抽象パス名で示されるファイルが最後に変更された時刻を返します。 エポック(1970年1月1日00:00:00 GMT)からミリ秒単位で測定された、ファイルが最後に変更された時間を表すlong値、またはファイルが存在しない場合またはI/Oエラーが発生した場合は0Lを返します。

13

public long length()

この抽象パス名で示されるファイルの長さを返します。 このパス名がディレクトリを示す場合、戻り値は指定されていません。

14

public boolean createNewFile() throws IOException

この抽象パス名で指定された新しい空のファイルを、この名前のファイルがまだ存在しない場合にのみ原子的に作成します。 指定されたファイルが存在せず、正常に作成された場合、trueを返します。指定されたファイルが既に存在する場合はfalse。

15

public boolean delete()

この抽象パス名で示されるファイルまたはディレクトリを削除します。 このパス名がディレクトリを示す場合、そのディレクトリは削除されるために空でなければなりません。 ファイルまたはディレクトリが正常に削除された場合にのみtrueを返します。そうでない場合はfalse。

16

public void deleteOnExit()

仮想マシンの終了時に、この抽象パス名が示すファイルまたはディレクトリを削除することを要求します。

17

public String[] list()

この抽象パス名で示されるディレクトリ内のファイルとディレクトリに名前を付ける文字列の配列を返します。

18

public String[] list(FilenameFilter filter)

指定されたフィルターを満たす、この抽象パス名で示されるディレクトリ内のファイルとディレクトリを指定する文字列の配列を返します。

20

public File[] listFiles()

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

21

public File[] listFiles(FileFilter filter)

指定されたフィルターを満たす、この抽象パス名が示すディレクトリ内のファイルとディレクトリを示す抽象パス名の配列を返します。

22

public boolean mkdir()

この抽象パス名で指定されたディレクトリを作成します。 ディレクトリが作成された場合にのみtrueを返します。そうでない場合はfalse。

23

public boolean mkdirs()

必要だが存在しない親ディレクトリを含む、この抽象パス名で指定されたディレクトリを作成します。 必要なすべての親ディレクトリとともに、ディレクトリが作成された場合にのみtrueを返します。そうでない場合はfalse。

24

public boolean renameTo(File dest)

この抽象パス名が示すファイルの名前を変更します。 名前の変更が成功した場合にのみtrueを返します。そうでない場合はfalse。

25

public boolean setLastModified(long time)

この抽象パス名で指定されたファイルまたはディレクトリの最終変更時刻を設定します。 操作が成功した場合にのみtrueを返します。そうでない場合はfalse。

26

public boolean setReadOnly()

読み取り操作のみが許可されるように、この抽象パス名で指定されたファイルまたはディレクトリをマークします。 操作が成功した場合にのみtrueを返します。そうでない場合はfalse。

27

public static File createTempFile(String prefix, String suffix, File directory) throws IOException

指定されたプレフィックスおよびサフィックス文字列を使用して名前を生成し、指定されたディレクトリに新しい空のファイルを作成します。 新しく作成された空のファイルを示す抽象パス名を返します。

28

public static File createTempFile(String prefix, String suffix) throws IOException

指定されたプレフィックスとサフィックスを使用して名前を生成し、デフォルトの一時ファイルディレクトリに空のファイルを作成します。 このメソッドを呼び出すことは、createTempFile(prefix、suffix、null)を呼び出すことと同等です。 新しく作成された空のファイルを示す抽象パス名を返します。

29

public int compareTo(File pathname)

2つの抽象パス名を辞書式に比較します。 引数がこの抽象パス名に等しい場合はゼロ、この抽象パス名が引数より辞書式に小さい場合はゼロ未満の値、この抽象パス名が引数より辞書式に大きい場合はゼロより大きい値を返します。

30

public int compareTo(Object o)

この抽象パス名を別のオブジェクトと比較します。 引数がこの抽象パス名に等しい場合はゼロ、この抽象パス名が引数より辞書式に小さい場合はゼロ未満の値、この抽象パス名が引数より辞書式に大きい場合はゼロより大きい値を返します。

31

public boolean equals(Object obj)

この抽象パス名が指定されたオブジェクトと等しいかどうかをテストします。 引数がnullではなく、この抽象パス名と同じファイルまたはディレクトリを示す抽象パス名である場合にのみtrueを返します。

32

public String toString()

この抽象パス名のパス名文字列を返します。 これは、getPath()メソッドによって返される単なる文字列です。

以下は、Fileオブジェクトを示すための例です-

package com.finddevguides;
import java.io.File;

public class FileDemo {

   public static void main(String[] args) {
      File f = null;
      String[] strs = {"test1.txt", "test2.txt"};
      try {
        //for each string in string array
         for(String s:strs ) {
           //create new file
            f = new File(s);

           //true if the file is executable
            boolean bool = f.canExecute();

           //find the absolute path
            String a = f.getAbsolutePath();

           //prints absolute path
            System.out.print(a);

           //prints
            System.out.println(" is executable: "+ bool);
         }
      } catch (Exception e) {
        //if any I/O error occurs
         e.printStackTrace();
      }
   }
}

実行可能ファイルtest1.txtがあり、別のファイルtest2.txtが現在のディレクトリで実行可能でないことを考慮してください。 上記のプログラムをコンパイルして実行してみましょう、これは次の結果を生成します-

出力

/home/cg/root/2880380/test1.txt is executable: false
/home/cg/root/2880380/test2.txt is executable: false