2010-11-24 25 views
4

私はDBに異なるフォーマットファイルを持っています。私は私のローカルマシンにコピーしたいです。Javaを使用してファイル拡張子を識別する

私は(DOC、XLS、等...)

よろしく、 クリシュナファイル形式を識別することができますどのように

おかげで、提案を提供するために...私は、コードを書いていたご提案をもとに&私が完了しています...

は私のブログに見てください..私は...こっちのコードを掲載

http://muralie39.wordpress.com/java-program-to-copy-files-from-oracle-to-localhost/

は..あなたの男

おかげで、ファイルが保存されているどのように クリシュナ

答えて

4

ありがとうございましたか!拡張子を付けたファイル名かバイナリデータだけを持っていますか?

Mime Utilには、拡張子と魔法のヘッダーの両方からフォーマットを検出するツールがありますが、もちろんこれは決して100%ではありません。

6

あなたのファイルは慣例に従って命名されている場合は、あなただけのファイル名に解析することができます

String filename = "yourFileName"; 
int dotPosition = filename.lastIndexOf("."); 
String extension = ""; 
if (dotPosition != -1) { 
    extension = filename.substring(dotPosition); 
} 
System.out.println("The file is of type: " + extension); 

あなたのファイルは、標準の命名規則のいくつかの種類を使用して命名されていると仮定すると、最も簡単な方法です。エクステンションは、あなたのシステムに所有権を持つことができます。

フォーマット情報を取得するためにファイルを実際にスキャンする必要がある場合は、ドキュメントフォーマットについてさらに調査する必要があります。

+0

ファイルに拡張子がない場合は注意してください。その場合、 'substring'呼び出しは実行時例外を発生させます。 'substring'を呼び出す前に' dotPosition'が有効であるかどうかを確認してください。 –

+0

あなたは正しいです。更新しました。 – karlgrz

0

Tika apacheライブラリを使用できます。 しかし、Dmitri氏は、ファイルヘッダーやファイル拡張子からMIMEタイプを検出すると、間違った結果を招くことがあることを指摘しています。

関連する問題