public class MailcapCommandMap extends CommandMap
Mailcap文件搜索顺序:
MailcapCommandMap在用户系统的各个地方查看mailcap文件条目。 当请求在MailcapCommandMap中搜索命令时,它将按以下顺序搜索mailcap文件:
.mailcap在用户的主目录中。 /lib/mailcap 。 META-INF/mailcap 。 META-INF/mailcap.default的文件或资源(通常仅在activation.jar文件中找到)。 Mailcap文件格式:
Mailcap文件必须符合mailcap文件规范(RFC 1524, A User Agent Configuration Mechanism For Multimedia Mail Format Information )。 文件格式由与特定MIME类型相对应的条目组成。 一般来说,规范指定了客户端在他们自己不能在指定的MIME类型上运行时使用的应用程序。 MailcapCommandMap通过在mailcap文件中使用参数机制来扩展此规范,允许将JavaBeans(tm)组件指定为MIME类型的特定命令。
 当一个mailcap文件进行解析,时,MailcapCommandMap识别出某些参数签名,特别是与那些开头的参数名称x-java- 。 MailcapCommandMap使用此签名来查找包含在其注册表中的命令条目。 与形式参数名x-java-<name>通过时,MailcapCommandMap作为识别与所述名称名称的命令读出。 当名称为content-handler ,MailcapCommandMap将此参数表示的类识别为DataContentHandler 。 无论命令名称如何,一般处理所有其他命令。 命令实现由JavaBean(tm)组件的完全限定类名指定。 例如; 用于查看某些数据的命令可以指定为: x-java-view=com.foo.ViewBean 。 
 当命令名为fallback-entry时,命令的值可能为true或false 。 包含x-java-fallback-entry=true参数的MIME类型的x-java-fallback-entry=true定义了该MIME类型的回退命令,只有在没有找到非回退条目的情况下才会使用。 例如,表单text/*; ; x-java-fallback-entry=true; x-java-view=com.sun.TextViewer的条目指定了用于任何文本MIME类型的视图命令。 仅当无法找到MIME类型的非后备视图命令时,才能使用此视图命令。 
MailcapCommandMap感知mailcap文件具有以下一般形式:
 # Comments begin with a '#' and continue to the end of the line. 
 <mime type>; ; <parameter list>
 # Where a parameter list consists of one or more parameters,
 # where parameters look like: x-java-view=com.sun.TextViewer
 # and a parameter list looks like: 
 text/plain; ; x-java-view=com.sun.TextViewer; x-java-edit=com.sun.TextEdit 
 # Note that mailcap entries that do not contain 'x-java' parameters
 # and comply to RFC 1524 are simply ignored:
 image/gif; /usr/dt/bin/sdtimage %s
| Constructor and Description | 
|---|
| MailcapCommandMap()
              默认构造函数。 
             | 
| MailcapCommandMap(InputStream is)
              构造函数允许调用者指定一个包含mailcap文件的 
             InputStream 。 
             | 
| MailcapCommandMap(String fileName)
              构造函数允许调用者指定 
             mailcap文件的路径。 
             | 
| Modifier and Type | Method and Description | 
|---|---|
| void | addMailcap(String mail_cap)
              将条目添加到注册表。 
             | 
| DataContentHandler | createDataContentHandler(String mimeType)
              返回指定MIME类型的DataContentHandler。 
             | 
| CommandInfo[] | getAllCommands(String mimeType)
              获取此MIME类型的MailcapCommandMap的此实例已知的所有mailcap文件中的所有可用命令。 
             | 
| CommandInfo | getCommand(String mimeType, String cmdName)
              获取对应于 
              cmdName的MIME类型的命令。 | 
| String[] | getMimeTypes()
              获取此命令映射已知的所有MIME类型。 
             | 
| String[] | getNativeCommands(String mimeType)
              获取给定MIME类型的本机命令。 
             | 
| CommandInfo[] | getPreferredCommands(String mimeType)
              获取MIME类型的首选命令列表。 
             | 
createDataContentHandler, getAllCommands, getCommand, getDefaultCommandMap, getPreferredCommands, setDefaultCommandMappublic MailcapCommandMap()
public MailcapCommandMap(String fileName) throws IOException
fileName - 要打开的 
            mailcap文件的名称 
           IOException - 如果文件无法访问 
           public MailcapCommandMap(InputStream is)
is - 要打开的 
            mailcap文件的InputStream 
           public CommandInfo[] getPreferredCommands(String mimeType)
搜索结果是MailcapCommandMap此实例已知的所有mailcap文件中可用命令的一个适当子集。 特定命令的第一个条目被认为是首选命令。
getPreferredCommands在 
            CommandMap 
           mimeType - MIME类型 
           public CommandInfo[] getAllCommands(String mimeType)
getAllCommands在类别 
            CommandMap 
           mimeType - MIME类型 
           public CommandInfo getCommand(String mimeType, String cmdName)
cmdName于MIME类型的 
           cmdName对应的命令。 
          getCommand在类别 
            CommandMap 
           mimeType - MIME类型 
           cmdName - 命令名 
           public void addMailcap(String mail_cap)
传入的字符串应该是mailcap格式。
mail_cap - 一个正确格式化的邮件字符串 
           public DataContentHandler createDataContentHandler(String mimeType)
createDataContentHandler在类别 
            CommandMap 
           mimeType - MIME类型 
           public String[] getMimeTypes()
getMimeTypes在 
            CommandMap 
            Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.