モジュール java.base
パッケージ java.nio.file.attribute

インタフェースBasicFileAttributeView

  • すべてのスーパー・インタフェース:
    AttributeView, FileAttributeView
    既知のすべてのサブインタフェース:
    DosFileAttributeView, PosixFileAttributeView

    public interface BasicFileAttributeView
    extends FileAttributeView
    多くのファイル・システムで一般的なファイル属性の基本セットのビューを提供するファイル属性ビューです。 ファイル属性の基本セットは、BasicFileAttributesインタフェースで定義されている必須およびオプションのファイル属性で構成されます。

    一括操作としてファイル属性をファイル・システムから取得するには、readAttributesメソッドを呼び出します。 このクラスでは、ファイルの時間属性を更新するsetTimesメソッドも定義しています。

    ファイル属性への動的アクセスが必要な場合、この属性ビューによってサポートされている属性には次の名前と型があります。

    サポートされる属性
    名前
    "lastModifiedTime" FileTime
    "lastAccessTime" FileTime
    "creationTime" FileTime
    "size" Long
    "isRegularFile" Boolean
    "isDirectory" Boolean
    "isSymbolicLink" Boolean
    "isOther" Boolean
    "fileKey" Object

    getAttributeメソッドは、readAttributes()メソッドを呼び出したかのように、これらの属性のいずれかを読み取るために使用できます。

    setAttributeメソッドは、setTimesメソッドを呼び出したかのように、ファイルの最終変更時間、最終アクセス時間、または作成時間属性を更新するために使用できます。

    導入されたバージョン:
    1.7
    • メソッドの詳細

      • name

        String name()
        属性ビューの名前を返します。 この型の属性ビューは"basic"という名前です。
        定義:
        name、インタフェース: AttributeView
        戻り値:
        属性ビューの名前
      • readAttributes

        BasicFileAttributes readAttributes()
                                    throws IOException
        一括操作として基本ファイル属性を読み取ります。

        ほかのファイル・システム操作に関して、すべてのファイル属性が原子的操作として読み取られるかどうかは実装固有です。

        戻り値:
        ファイル属性
        例外:
        IOException - 入出力エラーが発生した場合
        SecurityException - デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkReadメソッドが呼び出されてファイルへの読取りアクセスがチェックされます。
      • setTimes

        void setTimes​(FileTime lastModifiedTime,
                      FileTime lastAccessTime,
                      FileTime createTime)
               throws IOException
        ファイルの最終変更時間、最終アクセス時間、および作成時間属性のいずれかまたはすべてを更新します。

        このメソッドは、ファイルのタイムスタンプ属性を更新します。 値は、そのファイル・システムでサポートされている元期と精度に変換されます。 粒度の細かいほうから粗いほうへ変換すると、精度が失われます。 サポートされていないタイムスタンプを設定したり、タイムスタンプをベースとなるファイル・ストアのサポート範囲外にある値に設定したりしようとする場合、このメソッドの動作は未定義です。 IOExceptionをスローすることによって、失敗する場合としない場合があります。

        lastModifiedTimelastAccessTime、またはcreateTimeのいずれかのパラメータにnull値が含まれている場合、対応するタイムスタンプは変更されません。 タイムスタンプ属性のすべてではなく一部のみが更新される場合、実装ではそれらのファイル属性の既存値を読み取る必要があることがあります。 その結果、このメソッドはほかのファイル・システム操作に関して原子的操作でない可能性があります。 また、既存値の読み取りや書換えを行うと、精度が失われる可能性もあります。 lastModifiedTime lastAccessTime、およびcreateTimeパラメータがすべてnullの場合、このメソッドは何の効果もありません。

        使用例: ファイルの最終アクセス時間を変更するとします。

            Path path = ...
            FileTime time = ...
            Files.getFileAttributeView(path, BasicFileAttributeView.class).setTimes(null, time, null);
         

        パラメータ:
        lastModifiedTime - 新しい最終変更時間。値を変更しない場合はnull
        lastAccessTime - 最終アクセス時間。値を変更しない場合はnull
        createTime - ファイルの作成時間。値を変更しない場合はnull
        例外:
        IOException - 入出力エラーが発生した場合
        SecurityException - デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkWriteメソッドが呼び出されてファイルへの書込みアクセスがチェックされます。
        関連項目:
        Files.setLastModifiedTime(java.nio.file.Path, java.nio.file.attribute.FileTime)