2012-05-09 14 views
3

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

例:私はファイル "1.doc"を持っています。私は誰もがこれが "1.txt"と改名されたWord文書であることを願っています。しかし、ファイルは元々Word文書です。どのように元のファイル拡張子を取得できますか?

答えて

1

前のファイル拡張子を元に戻すことはできません。あなたができることは、ファイルの内容を見て、それが何であるかを推測することです。

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

@AaronDigullaがコメントで言及しているように、「推測」の仕事に役立つライブラリがあり、that questionへの回答には、そのようなライブラリへのポインタが含まれています。あなたは、文字列の名前を変更すると、割り当てられたメモリが変更されず、theresの戻ったり、ファイル名を変更したら

+0

コンテンツでファイルを調べる方法:http://stackoverflow.com/questions/51438/getting-a-files-mime-type-in​​-java –

0

以前の名前は保持されません。

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

1

を元に戻しているので、それは... ORIGINALNAMEと呼ばれる別の文字列に保存名前を変更する前に、

0

JavaBeans Activation Frameworkのjavax.activation.FileDataSourceを使用することを検討してください。特にgetContentType()メソッドを使用してください。

+0

このメソッドは、ファイル名の拡張子を取得するためには使用されません。 – abksrv

+0

これはまさに私が探していたものです。 ありがとうございました。 –

関連する問題