- 所有已实现的接口:
Externalizable
,Serializable
,Cloneable
DataFlavor
提供有关数据的元信息。 DataFlavor
通常用于访问剪贴板上的数据,或在拖放操作期间。
DataFlavor
的实例封装了 RFC 2045 和 RFC 2046 中定义的内容类型。内容类型通常称为 MIME 类型。
内容类型由媒体类型(称为主要类型)、子类型和可选参数组成。有关 MIME 类型语法的详细信息,请参阅 RFC 2045。
JRE 数据传输实现将 MIME 类型的参数“类”解释为表示类.表示类别反映了正在传输的对象的类别。换句话说,表示类是 Transferable.getTransferData(java.awt.datatransfer.DataFlavor)
返回的对象类型。例如,imageFlavor
的 MIME 类型是 "image/x-java-image;class=java.awt.Image"
,主要类型是 image
,子类型是 x-java-image
,表示类是 java.awt.Image
。当使用 imageFlavor
的 DataFlavor
调用 getTransferData
时,将返回 java.awt.Image
的实例。重要的是要注意 DataFlavor
不会针对表示类进行错误检查。 DataFlavor
的使用者(例如 Transferable
)是否尊重表示类。
请注意,如果您在创建 DataFlavor
时未指定表示类,则使用默认表示类。请参阅 DataFlavor
的构造函数的相应文档。
此外,DataFlavor
具有“文本”主要 MIME 类型的实例可能有一个“字符集”参数。有关“文本”MIME 类型和“字符集”参数的详细信息,请参阅 RFC 2046 和 selectBestTextFlavor(java.awt.datatransfer.DataFlavor[])
。
DataFlavors
的相等性由主要类型、子类型和表示类决定。有关详细信息,请参阅 equals(DataFlavor)
。在确定相等性时,将忽略任何可选参数。例如,以下生成两个被认为相同的 DataFlavors
:
DataFlavor flavor1 = new DataFlavor(Object.class, "X-test/test; class=<java.lang.Object>; foo=bar"); DataFlavor flavor2 = new DataFlavor(Object.class, "X-test/test; class=<java.lang.Object>; x=y"); // The following returns true. flavor1.equals(flavor2);如前所述,
flavor1
和 flavor2
被认为是相同的。因此,向 Transferable
询问 DataFlavor
会返回相同的结果。
有关使用 Swing 进行数据传输的更多信息,请参阅 如何使用拖放和数据传输 中的 The Java Tutorial 部分。
- 自从:
- 1.1
- 参见:
-
字段摘要
字段修饰符和类型Field描述static final DataFlavor
表示一段 HTML 标记。static final DataFlavor
表示一段 HTML 标记。static final DataFlavor
DataFlavor
表示 Java Image 类,其中:static final DataFlavor
要将文件列表传输到 Java(和底层平台),使用这种类型/子类型的DataFlavor
和java.util.List
的表示类。static final String
要在同一 JVM 中跨Transferable
接口传输对没有关联 MIME 内容类型的任意 Java 对象引用的引用,使用具有此类型/子类型的DataFlavor
,其中representationClass
等于类/接口的类型穿过Transferable
。static final String
为了通过拖放ACTION_LINK
操作将实时链接传递到远程对象,应使用 application/x-java-remote-object 的 Mime 内容类型,其中DataFlavor
的表示类表示Remote
接口的类型被转移。static final String
application/x-java-serialized-object 的 MIME 内容类型表示已持久化的 Java 对象图。static final DataFlavor
已弃用。从 1.3 开始。static final DataFlavor
表示一段 HTML 标记。static final DataFlavor
DataFlavor
表示 Java Unicode String 类,其中: -
构造方法总结
构造方法构造方法描述构造一个新的DataFlavor
.DataFlavor
(Class<?> representationClass, String humanPresentableName) 构造一个代表 Java 类的DataFlavor
。DataFlavor
(String mimeType) 从mimeType
字符串构造DataFlavor
。DataFlavor
(String mimeType, String humanPresentableName) 构造代表MimeType
的DataFlavor
。DataFlavor
(String mimeType, String humanPresentableName, ClassLoader classLoader) 构造代表MimeType
的DataFlavor
。 -
方法总结
修饰符和类型方法描述clone()
返回此DataFlavor
的克隆。boolean
equals
(DataFlavor that) 此方法与equals(Object)
具有相同的行为。boolean
指示某个其他对象是否“等于”这个对象。boolean
已弃用。由于与hashCode()
合约不一致,改用isMimeTypeEqual(String)
。final Class<?>
返回默认表示类。final String
返回默认表示类的名称。返回此DataFlavor
表示的数据格式的人类可表示名称。返回此DataFlavor
的 MIME 类型字符串。getParameter
(String paramName) 如果paramName
等于“humanPresentableName”,则返回此DataFlavor
的人类可表示名称。返回此DataFlavor
的主要 MIME 类型。getReaderForText
(Transferable transferable) 获取文本风格的阅读器,如有必要,解码为预期的字符集(编码)。Class<?>
返回Class
支持此DataFlavor
的对象将在请求此DataFlavor
时返回。返回此DataFlavor
的子 MIME 类型。static final DataFlavor
返回一个DataFlavor
表示使用 Unicode 编码的纯文本,其中:int
hashCode()
返回此DataFlavor
的哈希码。boolean
如果指定的DataFlavor
表示文件对象列表,则返回true
。boolean
如果指定的DataFlavor
表示远程对象,则返回true
。boolean
如果指定的DataFlavor
表示序列化对象,则返回true
。boolean
返回此DataFlavor
是否是此 Java 平台实现的有效文本风格。final boolean
isMimeTypeEqual
(DataFlavor dataFlavor) 比较两个DataFlavor
对象的mimeType
。boolean
isMimeTypeEqual
(String mimeType) 返回传入的 MIME 类型的字符串表示是否等效于此DataFlavor
的 MIME 类型。boolean
DataFlavor
是否代表序列化对象?boolean
返回此DataFlavor
的表示类是否为java.nio.ByteBuffer
或其子类。boolean
返回此DataFlavor
的表示类是否为java.nio.CharBuffer
或其子类。boolean
DataFlavor
代表java.io.InputStream
吗?boolean
返回此DataFlavor
的表示类是否为java.io.Reader
或其子类。boolean
如果表示类是Remote
,则返回true
。boolean
如果表示类可以序列化,则返回true
。boolean
match
(DataFlavor that) 与equals(DataFlavor)
相同。protected String
normalizeMimeType
(String mimeType) 已弃用。从 1.1 开始,此实现永远不会调用此方法protected String
normalizeMimeTypeParameter
(String parameterName, String parameterValue) 已弃用。从 1.1 开始,此实现永远不会调用此方法void
从序列化状态恢复此DataFlavor
。static final DataFlavor
selectBestTextFlavor
(DataFlavor[] availableFlavors) 从DataFlavor
数组中选择最佳文本DataFlavor
。void
setHumanPresentableName
(String humanPresentableName) 为这个DataFlavor
代表的数据格式设置人类可表达的名称。toString()
此DataFlavor
及其参数的字符串表示形式。protected static final Class<?>
tryToLoadClass
(String className, ClassLoader fallback) 尝试从以下位置加载一个类:引导加载程序、系统加载程序、上下文加载程序(如果存在)和最后指定的加载程序。void
序列化这个DataFlavor
。
-
字段详细信息
-
stringFlavor
DataFlavor
表示 Java Unicode String 类,其中:representationClass = java.lang.String mimeType = "application/x-java-serialized-object"
-
imageFlavor
DataFlavor
表示 Java Image 类,其中:representationClass = java.awt.Image mimeType = "image/x-java-image"
如果java.awt.Image
不可见、java.desktop
模块未加载或java.desktop
模块不在运行时映像中,则为null
。 -
plainTextFlavor
已弃用。从 1.3 开始。使用getReaderForText(java.awt.datatransfer.Transferable)
而不是Transferable.getTransferData(DataFlavor.plainTextFlavor)
。DataFlavor
表示使用 Unicode 编码的纯文本,其中:representationClass = InputStream mimeType = "text/plain; charset=unicode"
这个DataFlavor
已被弃用因为:- 它的表示是一个 InputStream,一个基于 8 位的表示,而 Unicode 是一个 16 位的字符集
- 字符集“unicode”没有明确定义。 “unicode”表示特定平台的 Unicode 实现,而不是跨平台实现
-
javaSerializedObjectMimeType
application/x-java-serialized-object 的 MIME 内容类型表示已持久化的 Java 对象图。与此
DataFlavor
关联的表示类标识从调用java.awt.datatransfer.getTransferData
返回为引用的对象的 Java 类型。- 参见:
-
javaFileListFlavor
要将文件列表传输到 Java(和底层平台),使用这种类型/子类型的DataFlavor
和java.util.List
的表示类。列表中的每个元素都需要/保证为java.io.File
类型。 -
javaJVMLocalObjectMimeType
要在同一 JVM 中跨Transferable
接口传输对没有关联 MIME 内容类型的任意 Java 对象引用的引用,使用具有此类型/子类型的DataFlavor
,其中representationClass
等于类/接口的类型穿过Transferable
。从
Transferable.getTransferData
为具有此 MIME 内容类型的DataFlavor
返回的对象引用必须是DataFlavor
的表示类的实例。- 参见:
-
javaRemoteObjectMimeType
为了通过拖放ACTION_LINK
操作将实时链接传递到远程对象,应使用 application/x-java-remote-object 的 Mime 内容类型,其中DataFlavor
的表示类表示Remote
接口的类型被转移。- 参见:
-
selectionHtmlFlavor
表示一段 HTML 标记。标记由在源端选择的部分组成。因此,标记中的某些标签可能未配对。如果使用 flavor 表示Transferable
实例中的数据,则不会进行额外的更改。此 DataFlavor 实例表示与 DataFlavor 实例相同的 HTML 标记,其内容 MIME 类型不包含文档参数,表示类是 String 类。representationClass = String mimeType = "text/html"
- 自从:
- 1.8
-
fragmentHtmlFlavor
表示一段 HTML 标记。如果可能,将从本机系统接收到的标记添加成对标记以成为格式良好的 HTML 标记。如果使用 flavor 表示Transferable
实例中的数据,则不会进行额外的更改。representationClass = String mimeType = "text/html"
- 自从:
- 1.8
-
allHtmlFlavor
表示一段 HTML 标记。如果可能,将从本机系统接收到的标记用附加标记进行补充,以构成格式良好的 HTML 文档。如果使用 flavor 表示Transferable
实例中的数据,则不会进行额外的更改。representationClass = String mimeType = "text/html"
- 自从:
- 1.8
-
-
构造方法详细信息
-
DataFlavor
public DataFlavor()构造一个新的DataFlavor
。提供此构造函数只是为了支持Externalizable
接口。它不适合公共(客户)使用。- 自从:
- 1.2
-
DataFlavor
构造一个代表 Java 类的DataFlavor
。返回的
DataFlavor
将具有以下特征:representationClass = representationClass mimeType = application/x-java-serialized-object
- 参数:
representationClass
- 以这种方式传输数据的类humanPresentableName
- 用于识别此风味的人类可读字符串;如果此参数为null
,则使用 MIME 内容类型的值- 抛出:
NullPointerException
- 如果representationClass
是null
-
DataFlavor
构造代表MimeType
的DataFlavor
。返回的
DataFlavor
将具有以下特征:如果
mimeType
是“application/x-java-serialized-object; class=<representation class>”,结果与调用new DataFlavor(Class.forName(<representation class>)
相同。否则:
representationClass = InputStream mimeType = mimeType
- 参数:
mimeType
- 用于标识此风味的 MIME 类型的字符串;如果mimeType
未指定“class=”参数,或者类未成功加载,则抛出IllegalArgumentException
humanPresentableName
- 用于识别此风味的人类可读字符串;如果此参数为null
,则使用 MIME 内容类型的值- 抛出:
IllegalArgumentException
- 如果mimeType
无效或类未成功加载NullPointerException
- 如果mimeType
是null
-
DataFlavor
public DataFlavor(String mimeType, String humanPresentableName, ClassLoader classLoader) throws ClassNotFoundException 构造代表MimeType
的DataFlavor
。返回的
DataFlavor
将具有以下特征:如果 mimeType 是“application/x-java-serialized-object; class=<representation class>”,结果与调用
new DataFlavor(Class.forName(<representation class>)
相同。否则:
representationClass = InputStream mimeType = mimeType
- 参数:
mimeType
- 用于标识此风味的 MIME 类型的字符串humanPresentableName
- 用于识别此风味的人类可读字符串classLoader
- 要使用的类加载器- 抛出:
ClassNotFoundException
- 如果类未加载IllegalArgumentException
- 如果mimeType
无效NullPointerException
- 如果mimeType
是null
-
DataFlavor
从mimeType
字符串构造DataFlavor
。该字符串可以指定一个“class=<fully specified Java class name>”参数来创建一个具有所需表示类的DataFlavor
。如果字符串不包含“class=”参数,java.io.InputStream
将用作默认值。- 参数:
mimeType
- 用于标识此风味的 MIME 类型的字符串;如果“class=”参数指定的类未成功加载,则抛出ClassNotFoundException
- 抛出:
ClassNotFoundException
- 如果类未加载IllegalArgumentException
- 如果mimeType
无效NullPointerException
- 如果mimeType
是null
-
-
方法详情
-
tryToLoadClass
protected static final Class <?> tryToLoadClass(String className, ClassLoader fallback) throws ClassNotFoundException 尝试从以下位置加载一个类:引导加载程序、系统加载程序、上下文加载程序(如果存在)和最后指定的加载程序。- 参数:
className
- 要加载的类的名称fallback
- 后备加载程序- 返回:
- 加载的类
- 抛出:
ClassNotFoundException
- 如果找不到类
-
toString
此DataFlavor
及其参数的字符串表示形式。生成的String
包含DataFlavor
类的名称、此风格的 MIME 类型及其表示类。如果此 flavor 的主要 MIME 类型为“文本”,支持 charset 参数,并且具有编码表示,则还包括 flavor 的 charset。请参阅selectBestTextFlavor
以获取支持 charset 参数的文本风格列表。 -
getTextPlainUnicodeFlavor
返回一个DataFlavor
表示使用 Unicode 编码的纯文本,其中:representationClass = java.io.InputStream mimeType = "text/plain; charset=<platform default Unicode encoding>"
- 实现注意事项:
-
Oracle 针对 Microsoft Windows 和 macOS 的实现使用编码
utf-16le
。 Oracle 的 Solaris 和 Linux 实现使用编码iso-10646-ucs-2
。 - 返回:
-
一个
DataFlavor
表示使用 Unicode 编码的纯文本 - 自从:
- 1.3
-
selectBestTextFlavor
从DataFlavor
数组中选择最佳文本DataFlavor
。只有DataFlavor.stringFlavor
和等效的风格,以及具有主要 MIME 类型“文本”的风格,才会被考虑用于选择。风味首先按以下顺序按其 MIME 类型排序:
- “文本/sgml”
- “文本/xml”
- “文本/html”
- “文本/RTF”
- “文本/丰富”
- “文本/富文本”
- “文本/uri列表”
- “文本/制表符分隔值”
- "text/t140"
- “文本/rfc822-headers”
- “文本/parityfec”
- "text/directory"
- “文本/CSS”
- “文本/日历”
- “应用程序/x-java-序列化对象”
- “文本/纯文本”
- "text/<other>"
例如,“text/sgml”将被选中而不是“text/html”,而
DataFlavor.stringFlavor
将被选中而不是DataFlavor.plainTextFlavor
。如果两个或多个风格共享数组中的最佳 MIME 类型,则将检查该 MIME 类型以查看它是否支持 charset 参数。
以下 MIME 类型支持或被视为支持字符集参数:
- “文本/sgml”
- “文本/xml”
- “文本/html”
- “文本/丰富”
- “文本/富文本”
- “文本/uri列表”
- "text/directory"
- “文本/CSS”
- “文本/日历”
- “应用程序/x-java-序列化对象”
- “文本/纯文本”
- “文本/RTF”
- “文本/制表符分隔值”
- "text/t140"
- “文本/rfc822-headers”
- “文本/parityfec”
DataFlavor
中。如果是这样,JRE 将从那时起假定 MIME 类型支持 charset 参数并且不会再次检查。如果未明确列出参数,则 JRE 将从那时起假定 MIME 类型不支持字符集参数,并且不会再次检查。由于此检查是在任意选择的DataFlavor
上执行的,因此开发人员必须确保所有具有“text/<other>”MIME 类型的DataFlavor
指定 charset 参数(如果该 MIME 类型支持该参数)。开发人员永远不应依赖 JRE 将平台的默认字符集替换为“text/<other>”DataFlavor。不遵守此限制将导致未定义的行为。如果数组中最好的 MIME 类型不支持 charset 参数,则共享该 MIME 类型的 flavors 将按照它们的表示类按以下顺序排序:
java.io.InputStream
、java.nio.ByteBuffer
、[B
、<all others>。如果两种或多种风味共享最佳表示类别,或者如果没有风味具有三种指定表示之一,则将不确定地选择其中一种风味。
如果数组中最好的 MIME 类型确实支持 charset 参数,则共享该 MIME 类型的 flavor 将按照它们的表示类按以下顺序排序:
java.io.Reader
、java.lang.String
、java.nio.CharBuffer
、[C
、<所有其他>。如果两种或多种口味共享最佳表示类别,并且该表示是明确列出的四种口味之一,那么将不确定地选择其中一种口味。但是,如果没有一种风味具有四种指定表示形式中的一种,则风味将按其字符集排序。 Unicode 字符集,例如“UTF-16”、“UTF-8”、“UTF-16BE”、“UTF-16LE”,以及它们的别名,被认为是最好的。在它们之后,选择平台默认字符集及其别名。 “US-ASCII”及其别名最糟糕。所有其他字符集都按字母顺序选择,但只会考虑此 Java 平台实现支持的字符集。
如果两种或多种风味共享最佳字符集,则风味将再次按以下顺序按其表示类排序:
java.io.InputStream
、java.nio.ByteBuffer
、[B
、<所有其他>。如果两种或多种风味共享最佳表示类别,或者如果没有风味具有三种指定表示之一,则将不确定地选择其中一种风味。
- 参数:
availableFlavors
- 可用DataFlavor
的数组- 返回:
-
根据上面指定的规则的最佳(最高保真度)风味,或
null
,如果availableFlavors
是null
,长度为零,或不包含文本风味 - 自从:
- 1.3
-
getReaderForText
public Reader getReaderForText(Transferable transferable) throws UnsupportedFlavorException , IOException 获取文本风格的阅读器,如有必要,解码为预期的字符集(编码)。支持的表示类是java.io.Reader
、java.lang.String
、java.nio.CharBuffer
、[C
、java.io.InputStream
、java.nio.ByteBuffer
和[B
。由于不支持 charset 参数的文本风格以非标准格式编码,因此不应为此类风格调用此方法。但是,为了保持向后兼容性,如果为此类风格调用此方法,则此方法会将此风格视为支持字符集参数,并尝试相应地对其进行解码。有关不支持 charset 参数的文本风格列表,请参阅
selectBestTextFlavor
。- 参数:
transferable
- 将以这种方式请求其数据的Transferable
- 返回:
-
a
Reader
读取Transferable
的数据 - 抛出:
IllegalArgumentException
- 如果表示类不是上面列出的七个之一IllegalArgumentException
- 如果Transferable
有null
数据NullPointerException
- 如果Transferable
是null
UnsupportedEncodingException
- 如果这种风格的表示是java.io.InputStream
、java.nio.ByteBuffer
或[B
并且这种风格的编码不受此 Java 平台实现的支持UnsupportedFlavorException
- 如果Transferable
不支持这种风格IOException
- 如果由于 I/O 错误而无法读取数据- 自从:
- 1.3
- 参见:
-
getMimeType
返回此DataFlavor
的 MIME 类型字符串。- 返回:
- 此风格的 MIME 类型字符串
-
getRepresentationClass
返回Class
支持此DataFlavor
的对象将在请求此DataFlavor
时返回。- 返回:
Class
支持此DataFlavor
的对象将在请求此DataFlavor
时返回
-
getHumanPresentableName
返回此DataFlavor
表示的数据格式的人类可表示名称。此名称将针对不同的国家/地区进行本地化。- 返回:
-
此
DataFlavor
代表的数据格式的人类可表达名称
-
getPrimaryType
返回此DataFlavor
的主要 MIME 类型。- 返回:
-
这个
DataFlavor
的主要 MIME 类型
-
getSubType
返回此DataFlavor
的子 MIME 类型。- 返回:
-
这个
DataFlavor
的子 MIME 类型
-
getParameter
如果paramName
等于“humanPresentableName”,则返回此DataFlavor
的人类可表示名称。否则返回与paramName
关联的 MIME 类型值。- 参数:
paramName
- 请求的参数名称- 返回:
-
name 参数的值,如果没有关联值则为
null
-
setHumanPresentableName
为这个DataFlavor
代表的数据格式设置人类可表达的名称。此名称将针对不同的国家/地区进行本地化。- 参数:
humanPresentableName
- 新的人类形象名称
-
equals
指示某个其他对象是否“等于”这个对象。equals
方法在非空对象引用上实现等价关系:- 这是反身的:对于任何非空参考值
x
,x.equals(x)
应该返回true
。 - 这是对称的:对于任何非空参考值
x
和y
,当且仅当y.equals(x)
返回true
时,x.equals(y)
应返回true
。 - 这是transitive:对于任何非空引用值
x
、y
和z
,如果x.equals(y)
返回true
并且y.equals(z)
返回true
,那么x.equals(z)
应该返回true
。 - 这是持续的:对于任何非空引用值
x
和y
,x.equals(y)
的多次调用一致地返回true
或一致地返回false
,前提是在对象的equals
比较中使用的信息没有被修改。 - 对于任何非空参考值
x
,x.equals(null)
应该返回false
。
等价关系将其操作的元素划分为等价类;等价类的所有成员彼此相等。等价类的成员可以相互替代,至少出于某些目的。
DataFlavor
类的相等比较实现如下:当且仅当它们的 MIME 主要类型和子类型以及表示类相等时,两个DataFlavor
被认为是相等的。此外,如果主要类型是“文本”,子类型表示支持 charset 参数的文本风格,并且表示类不是java.io.Reader
、java.lang.String
、java.nio.CharBuffer
或[C
,则charset
参数也必须相等。如果没有为一个或两个DataFlavor
明确指定字符集,则假定平台默认编码。请参阅selectBestTextFlavor
以获取支持 charset 参数的文本风格列表。 - 这是反身的:对于任何非空参考值
-
equals
此方法与equals(Object)
具有相同的行为。唯一的区别是它需要一个DataFlavor
实例作为参数。- 参数:
that
- 与this
比较的DataFlavor
- 返回:
true
如果that
相当于这个DataFlavor
;false
否则- 参见:
-
equals
已弃用。由于与hashCode()
合约不一致,改用isMimeTypeEqual(String)
。仅将mimeType
与传入的String
进行比较,比较中不考虑representationClass
。如果需要比较representationClass
,则可以使用equals(new DataFlavor(s))
。- 参数:
s
- 要比较的mimeType
- 返回:
true
如果字符串 (MimeType) 相等;false
否则或如果s
是null
-
hashCode
public int hashCode()返回此DataFlavor
的哈希码。对于两个相等的DataFlavor
,哈希码是相等的。对于匹配DataFlavor.equals(String)
的String
,不能保证DataFlavor
的哈希码等于String
的哈希码。 -
match
与equals(DataFlavor)
相同。- 参数:
that
- 与this
比较的DataFlavor
- 返回:
true
如果that
相当于这个DataFlavor
;false
否则- 自从:
- 1.3
- 参见:
-
isMimeTypeEqual
返回传入的 MIME 类型的字符串表示是否等效于此DataFlavor
的 MIME 类型。参数不包括在比较中。- 参数:
mimeType
- MIME 类型的字符串表示- 返回:
true
如果传入的 MIME 类型的字符串表示等同于这个DataFlavor
的 MIME 类型;false
否则- 抛出:
NullPointerException
- 如果 mimeType 是null
-
isMimeTypeEqual
比较两个DataFlavor
对象的mimeType
。不考虑任何参数。- 参数:
dataFlavor
- 要比较的DataFlavor
- 返回:
true
如果MimeType
相等,否则false
-
isMimeTypeSerializedObject
public boolean isMimeTypeSerializedObject()DataFlavor
是否代表序列化对象?- 返回:
- 是否表示序列化对象
-
getDefaultRepresentationClass
返回默认表示类。- 返回:
- 默认表示类
-
getDefaultRepresentationClassAsString
返回默认表示类的名称。- 返回:
- 默认表示类的名称
-
isRepresentationClassInputStream
public boolean isRepresentationClassInputStream()DataFlavor
代表java.io.InputStream
吗?- 返回:
-
这个
DataFlavor
是否代表一个java.io.InputStream
-
isRepresentationClassReader
public boolean isRepresentationClassReader()返回此DataFlavor
的表示类是否为java.io.Reader
或其子类。- 返回:
-
此
DataFlavor
的表示类是否为java.io.Reader
或其子类 - 自从:
- 1.4
-
isRepresentationClassCharBuffer
public boolean isRepresentationClassCharBuffer()返回此DataFlavor
的表示类是否为java.nio.CharBuffer
或其子类。- 返回:
-
此
DataFlavor
的表示类是否为java.nio.CharBuffer
或其子类 - 自从:
- 1.4
-
isRepresentationClassByteBuffer
public boolean isRepresentationClassByteBuffer()返回此DataFlavor
的表示类是否为java.nio.ByteBuffer
或其子类。- 返回:
-
此
DataFlavor
的表示类是否为java.nio.ByteBuffer
或其子类 - 自从:
- 1.4
-
isRepresentationClassSerializable
public boolean isRepresentationClassSerializable()如果表示类可以序列化,则返回true
。- 返回:
true
表示类是否可以序列化
-
isRepresentationClassRemote
public boolean isRepresentationClassRemote()如果表示类是Remote
,则返回true
。- 返回:
true
如果表示类是Remote
-
isFlavorSerializedObjectType
public boolean isFlavorSerializedObjectType()如果指定的DataFlavor
表示序列化对象,则返回true
。- 返回:
true
如果指定的DataFlavor
表示序列化对象
-
isFlavorRemoteObjectType
public boolean isFlavorRemoteObjectType()如果指定的DataFlavor
表示远程对象,则返回true
。- 返回:
true
如果指定的DataFlavor
代表远程对象
-
isFlavorJavaFileListType
public boolean isFlavorJavaFileListType()如果指定的DataFlavor
表示文件对象列表,则返回true
。- 返回:
true
如果指定的DataFlavor
表示java.io.File
个对象的java.util.List
-
isFlavorTextType
public boolean isFlavorTextType()返回此DataFlavor
是否是此 Java 平台实现的有效文本风格。只有等同于DataFlavor.stringFlavor
和DataFlavor
的主要 MIME 类型为“文本”的风格才能是有效的文本风格。如果此 flavor 支持 charset 参数,则它必须等效于
DataFlavor.stringFlavor
,或者它的表示必须是java.io.Reader
、java.lang.String
、java.nio.CharBuffer
、[C
、java.io.InputStream
、java.nio.ByteBuffer
或[B
。如果表示是java.io.InputStream
、java.nio.ByteBuffer
或[B
,那么 Java 平台的这个实现必须支持这种风格的charset
参数。如果未指定字符集,则假定始终支持的平台默认字符集。如果此风格不支持字符集参数,则其表示必须是
java.io.InputStream
、java.nio.ByteBuffer
或[B
。请参阅
selectBestTextFlavor
以获取支持 charset 参数的文本风格列表。- 返回:
true
如果这个DataFlavor
是如上所述的有效文本风格;false
否则- 自从:
- 1.4
- 参见:
-
writeExternal
序列化这个DataFlavor
。- 指定者:
writeExternal
在接口Externalizable
中- 参数:
os
- 将对象写入的流- 抛出:
IOException
- 包括可能发生的任何 I/O 异常
-
readExternal
从序列化状态恢复此DataFlavor
。- 指定者:
readExternal
在接口Externalizable
中- 参数:
is
- 从中读取数据以恢复对象的流- 抛出:
IOException
- 如果发生 I/O 错误ClassNotFoundException
- 如果找不到正在恢复的对象的类。
-
clone
返回此DataFlavor
的克隆。- 重写:
clone
在类Object
中- 返回:
-
这个
DataFlavor
的克隆 - 抛出:
CloneNotSupportedException
- 如果对象的类不支持Cloneable
接口。覆盖clone
方法的子类也可以抛出此异常以指示无法克隆实例。- 参见:
-
normalizeMimeTypeParameter
@Deprecated protected String normalizeMimeTypeParameter(String parameterName, String parameterValue) 已弃用。从 1.1 开始,此实现永远不会调用此方法为每个 MIME 类型参数调用DataFlavor
以允许DataFlavor
子类处理特殊参数,如 text/plaincharset
参数,其值不区分大小写。 (MIME 类型参数值应该区分大小写。为每个参数名称/值对调用此方法,并应返回
parameterValue
的规范化表示。- 参数:
parameterName
- 参数名称parameterValue
- 参数值- 返回:
- 参数值
-
normalizeMimeType
已弃用。从 1.1 开始,此实现永远不会调用此方法为每个 MIME 类型字符串调用,为DataFlavor
子类型提供机会来更改 MIME 类型规范化的完成方式。一种可能的用途是在传入的 MIME 类型字符串中不存在默认参数/值对的情况下添加默认参数/值对。- 参数:
mimeType
- MIME 类型- 返回:
- 哑剧类型
-