File クラスでよく使用されるいくつかのメソッド

File クラスは、ファイルとディレクトリを操作するためのメソッドを多数提供します。File クラスで一般的に使用されるメソッドをいくつか以下に示します。

ファイル/ディレクトリに関する基本情報:

String getName(): ファイルまたはディレクトリの名前を取得します。
String getPath(): ファイルまたはディレクトリのパスを取得します。
boolean contains(): ファイルまたはディレクトリが存在するかどうかを判断します。
boolean isFile(): 現在の File オブジェクトがファイルを表すかどうかを判断します。
boolean isDirectory(): 現在の File オブジェクトがディレクトリを表すかどうかを判断します。
long length(): ファイルのサイズ(バイト数)を取得します。
long lastModified(): ファイルまたはディレクトリの最終変更時刻を取得します。

ファイル/ディレクトリ操作:

boolean createNewFile(): 新しい空のファイルを作成します。
boolean mkdir(): 単一レベルのディレクトリを作成します。
boolean mkdirs(): マルチレベルのディレクトリを作成します。
boolean delete(): ファイルまたはディレクトリを削除します。
boolean renameTo(File dest): ファイルまたはディレクトリの名前を、指定された宛先ファイルまたはディレクトリに変更します。

ディレクトリ コンテンツのクエリ:

String[] list(): ディレクトリ内のすべてのファイルとサブディレクトリの名前の配列を返します。
File[] listFiles(): ディレクトリ内のすべてのファイルとサブディレクトリの File オブジェクトの配列を返します。
File[] listFiles(FileFilter filter): フィルタ条件を満たすディレクトリ内のファイルおよびサブディレクトリの File オブジェクトの配列を返します。
File[] listFiles(FilenameFilter filter): 指定されたファイル名フィルター条件を満たすファイルおよびサブディレクトリのディレクトリ内の File オブジェクトの配列を返します。

パスの操作:

String getAbsolutePath(): ファイルまたはディレクトリの絶対パスを取得します。
String getParent(): ファイルまたはディレクトリの親ディレクトリ パスを取得します。
File getParentFile(): ファイルまたはディレクトリの親ディレクトリの File オブジェクトを取得します。
上記は、一般的に使用されるメソッドの一部を列挙しただけですが、File クラスには、アクセス許可の決定、ディレクトリ ツリーの走査、その他の操作のための他のメソッドも提供されています。

例を作成する

ファイルの作成時に指定されたパスがシステムで見つからない場合、これは通常、指定されたパス上に 1 つ以上のディレクトリが存在しないことを意味します。

相対パスを使用してファイルを作成する場合、Java は現在の作業ディレクトリ内のパスを解決します。相対パス内のディレクトリが存在しない場合、ファイルの作成時にエラーが報告されます。

ファイルを作成する前に、必要なディレクトリがすべて作成されていることを確認してください。mkdirs() メソッドを使用して、複数レベルのディレクトリを作成できます。

ファイルとその必要なディレクトリを作成する方法を示す例を次に示します。

import java.io.File;
import java.io.IOException;

public class CreateFileWithDirectoriesExample {
    
    
    public static void main(String[] args) {
    
    
        String filePath = "relative/path/file.txt";
        File file = new File(filePath);

        // 获取父目录
        File parentDir = file.getParentFile();

        // 创建父目录及其所有上级目录
        if (parentDir != null && !parentDir.exists()) {
    
    
            boolean created = parentDir.mkdirs();
            if (created) {
    
    
                System.out.println("父目录创建成功!");
            } else {
    
    
                System.out.println("父目录创建失败!");
            }
        }

        try {
    
    
            boolean created = file.createNewFile();
            if (created) {
    
    
                System.out.println("文件创建成功!");
            } else {
    
    
                System.out.println("文件已存在或创建失败!");
            }
        } catch (IOException e) {
    
    
            e.printStackTrace();
        }
    }
}

上記のコードでは、最初にファイルの親ディレクトリを取得し、次に mkdirs() メソッドを使用して上位ディレクトリをすべて作成します。次に、createNewFile() メソッドを使用してファイルを作成します。

ファイルを作成する前に親ディレクトリを作成すると、パス内のすべてのディレクトリが存在し、ファイルが正常に作成されることが保証されます。

mkdirs() メソッドを使用してディレクトリを作成する場合、エラーがスローされたり、既存のディレクトリがすでに存在する場合は上書きされたりしないことに注意してください。

それでも問題が解決しない場合は、パスが正しいことを確認し、選択したディレクトリにファイルを作成するための十分な権限があることを確認してください。

おすすめ

転載: blog.csdn.net/wang121213145/article/details/131602043