0

現在、私は次のことを行っていますが、それは私が探しているものではありません。ファイル拡張子を検出できるようにしたいだけです。それに応じて、ファイルをサーバーにコピーするか、拒否します。

    MimetypesFileTypeMap mimeTypesMap = new MimetypesFileTypeMap();
    FileInputStream is1 = new FileInputStream(file);
    String mimeType = mimeTypesMap.getContentType(file);

    InputStream is2 = new BufferedInputStream(new FileInputStream(file));
    String content = URLConnection.guessContentTypeFromStream(is2);

    System.out.println(mimeType);
    System.out.println(content);

私はmimetypeを取得しますが、繰り返しますが、それは私が望むものではありません。URL.guessContentFromStream()常にnullを返します。

playにはファイル拡張子を読み取るネイティブな方法がありますか?他にどのような解決策がありますか?

ありがとう。

4

2 に答える 2

2

FileTypeDetectorパッケージから使用java.nio.file.spi

詳細については、次のリンクを参照してください。

http://openjdk.java.net/projects/nio/javadoc/java/nio/file/spi/FileTypeDetector.html

/////編集済み//////

試すFileNameExtensionFilter

このリンクを参照してください:

http://docs.oracle.com/javase/6/docs/api/javax/swing/filechooser/FileNameExtensionFilter.html

于 2012-08-08T05:28:04.370 に答える
1

ファイル拡張子の検出は非常に簡単です。これが私が通常行うことです。

String filename = "a long.filename.ext";
String extension = filename.substring(filename.lastIndexOf('.') + 1);
于 2012-08-08T13:17:31.910 に答える