ファイルの名前が変更されている場合、ファイル拡張子を見つける方法は? これに利用できるツールはありますか?
例: 「1.doc」というファイルがあります。これが「1.txt」という名前に変更したばかりの Word 文書であることを皆さんが知っていることを願っています。ただし、ファイルは元は Word 文書です。元のファイル拡張子を取得するにはどうすればよいですか?
ファイルの名前が変更されている場合、ファイル拡張子を見つける方法は? これに利用できるツールはありますか?
例: 「1.doc」というファイルがあります。これが「1.txt」という名前に変更したばかりの Word 文書であることを皆さんが知っていることを願っています。ただし、ファイルは元は Word 文書です。元のファイル拡張子を取得するにはどうすればよいですか?
以前のファイル拡張子を取り戻すことはできません。できることは、ファイルの内容を見て、それが何であるかを推測することだけです。
ほとんどの (多くの?) ファイル形式は、ファイル形式を識別するための "マジック" 値で始まりますが、この方法は 100% 正確ではありません。
@AaronDigullaがコメントで言及したように、「推測」のタスクに役立つライブラリがあり、その質問への回答にはそのようなライブラリへのポインタが含まれています。
ファイルの名前を変更すると、以前の名前は保持されません。
ファイルの内容からファイルの形式を自動的に推測する限り、Unixfile
ユーティリティを見てください。私の Ubuntu ボックスにインストールされているバージョンは、それが認識している「魔法の」署名の中に Microsoft Word をリストしています。
名前を変更する前に、元の名前という別の文字列に保存します...文字列の名前を変更すると、割り当てられたメモリが変更され、元に戻すことも元に戻すこともできないためです
やりたいことは、その MIME タイプが何であるかを調べることです。このチュートリアルを使用できますhttp://www.roseindia.net/java/java-get-example/get-mime-type.shtml
javax.activation.FileDataSource
JavaBeans Activation Framework からの使用を検討してください。特にgetContentType()メソッドを使用してください。