web-dev-qa-db-ja.com

標準のMIMEタイプ定数をリストするインターフェース/列挙

私は標準ライブラリ(Apacheコモン、jax、jboss、javaxなど)の中から、すべての標準mimeタイプ(別名content-type)の値をリストするインターフェースまたは列挙を探しています。

このインターフェイスを他のクラスで深くしすぎて、束全体をgwtソースコードとして含めることが困難になることは避けてください。

例えば

interface ContentType{
  String JSON = "Application/JSON";
  blah ... blah ...
}

または、

enum ContentType{
  JSON("Application/JSON"),
  blah ... blah ...
}
107
Blessed Geek

このためのクラスGuavaがあります: com.google.common.net.MediaType

ソースコードおよび Issue 82 に記載されているように、Guava 12でリリースされました。 ソース も利用可能です。

61
Fabian Barney

https://docs.Oracle.com/javaee/7/api/javax/ws/rs/core/MediaType.html から:

staticjava.lang.String APPLICATION_ATOM_XML             "application/atom+xml"
staticMediaType        APPLICATION_ATOM_XML_TYPE        "application/atom+xml"
staticjava.lang.String APPLICATION_FORM_URLENCODED      "application/x-www-form-urlencoded"
staticMediaType        APPLICATION_FORM_URLENCODED_TYPE "application/x-www-form-urlencoded"
staticjava.lang.String APPLICATION_JSON                 "application/json"
staticMediaType        APPLICATION_JSON_TYPE            "application/json"
staticjava.lang.String APPLICATION_OCTET_STREAM         "application/octet-stream"
staticMediaType        APPLICATION_OCTET_STREAM_TYPE    "application/octet-stream"
staticjava.lang.String APPLICATION_SVG_XML              "application/svg+xml"
staticMediaType        APPLICATION_SVG_XML_TYPE         "application/svg+xml"
staticjava.lang.String APPLICATION_XHTML_XML            "application/xhtml+xml"
staticMediaType        APPLICATION_XHTML_XML_TYPE       "application/xhtml+xml"
staticjava.lang.String APPLICATION_XML                  "application/xml"
staticMediaType        APPLICATION_XML_TYPE             "application/xml"
staticjava.lang.String MEDIA_TYPE_WILDCARD              The value of a type or subtype wildcard: "*"
staticjava.lang.String MULTIPART_FORM_DATA              "multipart/form-data"
staticMediaType        MULTIPART_FORM_DATA_TYPE         "multipart/form-data"
staticjava.lang.String TEXT_HTML                        "text/html"
staticMediaType        TEXT_HTML_TYPE                   "text/html"
staticjava.lang.String TEXT_PLAIN                       "text/plain"
staticMediaType        TEXT_PLAIN_TYPE                  "text/plain"
staticjava.lang.String TEXT_XML                         "text/xml"
staticMediaType        TEXT_XML_TYPE                    "text/xml"
staticjava.lang.String WILDCARD                         "*/*"
staticMediaType        WILDCARD_TYPE                    "*/*"
75
Ray Tayek

Spring Framework を使用している場合、一般的なコンテンツタイプに対して MediaType クラスがあります。

MediaType.TEXT_HTML 
MediaType.TEXT_PLAIN 
MediaType.TEXT_XML 
MediaType.APPLICATION_JSON 
MediaType.IMAGE_JPEG 
...
59
Andrejs

クラス4.2以降から、パッケージorg.Apache.http.entity.ContentTypeからのクラス org.Apache.httpcomponents.httpcore もあります。

14
Overflow

javax.ws.rs.core.MediaType from JAX-RS

12

Java 7が助けになります!

ファイルまたはファイル名を渡すと、MIMEタイプが返されます。

String mimeType = MimetypesFileTypeMap
    .getDefaultFileTypeMap()
    .getContentType(attachment.getFileName());

http://docs.Oracle.com/javase/7/docs/api/javax/activation/MimetypesFileTypeMap.html

6
Max

androidannotations にはMediaTypeクラスもあり、Androidで使用したい場合に備えています。 here を参照してください。

4

Androidを使用している場合、複数の選択肢があり、最初の選択肢は一種の「enum」のみです。

例えば

@Override
public String getType(Uri uri) {
    return URLConnection.getFileNameMap().getContentTypeFor(
            uri.getLastPathSegment());
}
1
schnatterer

上記の回答で指摘されているように、必要な定数を持つjavax.ws.rs.core.MediaTypeを使用できます。

また、1つの場所ですべてのJavax定数への参照を提供する、非常に便利で便利なリンクを共有したかったのです。 https://docs.Oracle.com/javaee/7/api/constant-values .html

0
Anurag