Techいつもコードのことばかり考えている人のために。前回のエントリの続きです。Typeを推測する方法です。Typeを決定するアルゴリズムはカスタマイズ可能で、java.nio.file.spi.FileTypeDetectorを継承したクラスを作成し、サービスとして登録します。Typeを推測することが可能になります...が、ちょっと使うにはかなりハードルが高いですし、汎用的に作ろうとすると異常な努力が必要になってくるので、アプリケーションの仕様から特定のフォーマットを識別したい、という時以外は採用は厳しそうです。Typeを推測するメソッドがURLConnection.guessContentTypeFromStreamです。openJDKのソースへのリンクを張っておきますが、実装を見ると主にtext/html、application/xml、image/gif、image/png、image/jpegあたりの判定には使えそうです(それ以外は...なぜそれを判定対象にした?という感じの並びですね...)。github.com判定ロジックがべた書きされているので、カスタマイズ方法は無さそうです。サブクラスを作れば別ですが、そうすると完全にロジックを書かないといけないので、これまた異常な努力が必要になりますね。おわりにファイルの内容から推測する方法は、あまり汎用的な方法は(当然ですが)無いので、URLConnection.guessContentTypeFromStreamを使う以上の汎用性は求めない方が良さそうです。Type-Sを買った月別アーカイブはてなブログをはじめよう!magnoliakさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。