3

ファイルの名前が変更されている場合、ファイル拡張子を見つける方法は? これに利用できるツールはありますか?

例: 「1.doc」というファイルがあります。これが「1.txt」という名前に変更したばかりの Word 文書であることを皆さんが知っていることを願っています。ただし、ファイルは元は Word 文書です。元のファイル拡張子を取得するにはどうすればよいですか?

4

5 に答える 5

1

以前のファイル拡張子を取り戻すことはできません。できることは、ファイルの内容を見て、それが何であるかを推測することだけです。

ほとんどの (多くの?) ファイル形式は、ファイル形式を識別するための "マジック" 値で始まりますが、この方法は 100% 正確ではありません。

@AaronDigullaがコメントで言及したように、「推測」のタスクに役立つライブラリがあり、その質問への回答にはそのようなライブラリへのポインタが含まれています。

于 2012-05-09T12:45:25.493 に答える
1

ファイルの名前を変更すると、以前の名前は保持されません。

ファイルの内容からファイルの形式を自動的に推測する限り、Unixfileユーティリティを見てください。私の Ubuntu ボックスにインストールされているバージョンは、それが認識している「魔法の」署名の中に Microsoft Word をリストしています。

于 2012-05-09T12:47:55.737 に答える
0

名前を変更する前に、元の名前という別の文字列に保存します...文字列の名前を変更すると、割り当てられたメモリが変更され、元に戻すことも元に戻すこともできないためです

于 2012-05-09T12:46:25.330 に答える
0

やりたいことは、その MIME タイプが何であるかを調べることです。このチュートリアルを使用できますhttp://www.roseindia.net/java/java-get-example/get-mime-type.shtml

于 2012-05-09T12:44:52.553 に答える
0

javax.activation.FileDataSourceJavaBeans Activation Framework からの使用を検討してください。特にgetContentType()メソッドを使用してください。

于 2012-05-09T12:51:04.447 に答える