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

クラスFileTypeDetector


  • public abstract class FileTypeDetector
    extends Object
    ファイルを調べてファイル・タイプを推察するファイル・タイプ・ディテクタです。

    ファイル・タイプ・ディテクタは、引数を取らないコンストラクタを持ち、次に示す抽象メソッドを実装する、このクラスの具象サブクラスです。

    ファイル・タイプ・ディテクタがファイル・タイプを特定する方法は、実装によって大きく異なります。 簡単な実装では、ファイル拡張子 (一部のプラットフォームで使用される規則)を調べて、それをファイル・タイプにマップします。 つまり、ファイル・タイプはファイル属性として格納されることもあれば、ファイル・タイプを推察するために調べられるファイル内のバイトとして格納されることもあります。

    導入されたバージョン:
    1.7
    関連項目:
    Files.probeContentType(Path)
    • コンストラクタの詳細

      • FileTypeDetector

        protected FileTypeDetector()
        このクラスの新しいインスタンスを初期化します。
        例外:
        SecurityException - セキュリティ・マネージャがインストールされており、それがRuntimePermission("fileTypeDetector")を拒否した場合
    • メソッドの詳細

      • probeContentType

        public abstract String probeContentType​(Path path)
                                         throws IOException
        指定されたファイルを調べてコンテンツ・タイプを推察します。

        このメソッドがファイル・タイプを特定する方法は実装によって大きく異なります。 ファイル名を調べるだけの場合もあれば、ファイル属性を使用したり、ファイル内のバイトを調べたりする場合もあります。

        調査結果は、RFC 2045MIME (Multipurpose Internet Mail Extensions)のパート1: インターネット・メッセージ本文の形式で定義されている、MIME (Multipurpose Internet Mail Extension)コンテンツ・タイプの文字列形式の値になります。 この文字列は、RFC 2045の文法に従って構文解析可能である必要があります。

        パラメータ:
        path - 調査するファイルへのパス
        戻り値:
        コンテンツ・タイプ。ファイル・タイプが認識できない場合はnull
        例外:
        IOException - 入出力エラーが発生した場合
        SecurityException - 実装でそのファイルにアクセスする必要があり、セキュリティ・マネージャがインストールされていて、それがファイル・システム・プロバイダ実装で必要とされる未指定のアクセス権を拒否する場合。 ファイル参照がデフォルトのファイル・システム・プロバイダに関連付けられている場合は、SecurityManager.checkRead(String)メソッドが呼び出されて、そのファイルへの読取りアクセスがチェックされます。
        関連項目:
        Files.probeContentType(java.nio.file.Path)