- 所有已实现的接口:
-
Externalizable,Serializable,Cloneable
DataFlavor提供有关数据的元信息。 DataFlavor通常用于访问剪贴板上的数据,或在拖放操作期间使用。
DataFlavor的一个实例封装了在RFC 2045和RFC 2046中定义的内容类型。 内容类型通常被称为MIME类型。
内容类型由媒体类型(称为主类型)、子类型和可选参数组成。 有关MIME类型语法的详细信息,请参阅RFC 2045。
JRE数据传输实现将MIME类型的参数“class”解释为表示类。 表示类反映了正在传输的对象的类。 换句话说,表示类是由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构造函数的适当文档,请参阅相应文档。
此外,具有“text”主MIME类型的DataFlavor实例可能具有“charset”参数。 有关“text”MIME类型和“charset”参数的详细信息,请参阅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"); // 以下返回true。 flavor1.equals(flavor2);如上所述,
flavor1和flavor2被视为相同。 因此,向Transferable请求任一DataFlavor将返回相同的结果。
有关在Swing中使用数据传输的更多信息,请参阅如何使用拖放和数据传输,在Java教程中的部分。
- 自:
- 1.1
- 另请参阅:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final DataFlavor表示HTML标记的一部分。static final DataFlavor表示HTML标记的一部分。static final DataFlavor代表Java Image类的DataFlavor,其中:static final DataFlavor为了在Java(和底层平台)之间传输文件列表,使用此类型/子类型和表示类为java.util.List的DataFlavor。static final String为了在同一JVM内通过Transferable接口传递没有关联MIME内容类型的任意Java对象引用,使用此类型/子类型的DataFlavor,表示类等于通过Transferable传递的类/接口的类型。static final String为了通过拖放ACTION_LINK操作传递到远程对象的实时链接,应使用application/x-java-remote-object的Mime内容类型,其中DataFlavor的表示类表示要传输的Remote接口的类型。static final Stringapplication/x-java-serialized-object的MIME内容类型表示已持久化的Java对象图。static final DataFlavor已弃用。从1.3版本开始。static final DataFlavor表示HTML标记的一部分。static final DataFlavor代表Java Unicode String类的DataFlavor,其中: -
Constructor Summary
ConstructorsConstructorDescription构造一个新的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。 -
Method Summary
Modifier and TypeMethodDescriptionclone()返回此DataFlavor的克隆。booleanequals(DataFlavor that) 此方法与equals(Object)具有相同的行为。boolean指示某个其他对象是否“等于”此对象。boolean已弃用。从1.1版本开始,此方法不会被此实现调用final Class<?> 返回默认表示类。final String返回默认表示类的名称。返回此DataFlavor表示的数据格式的人类可读名称。返回此DataFlavor的MIME类型字符串。getParameter(String paramName) 如果paramName等于“humanPresentableName”,则返回此DataFlavor的人类可读名称。返回此DataFlavor的主MIME类型。getReaderForText(Transferable transferable) 获取文本格式的Reader,必要时进行解码以获取预期的字符集(编码)。Class<?> 返回支持此DataFlavor的对象将在请求此DataFlavor时返回的Class。返回此DataFlavor的子MIME类型。static final DataFlavor返回表示具有Unicode编码的纯文本的DataFlavor,其中:inthashCode()返回此DataFlavor的哈希码。boolean如果指定的DataFlavor表示文件对象列表,则返回true。boolean如果指定的DataFlavor表示远程对象,则返回true。boolean如果指定的DataFlavor表示序列化对象,则返回true。boolean返回此DataFlavor是否为此Java平台实现的有效文本格式。final booleanisMimeTypeEqual(DataFlavor dataFlavor) 比较两个DataFlavor对象的。 booleanisMimeTypeEqual(String mimeType) 返回传入的MIME类型的字符串表示是否等同于此DataFlavor的MIME类型。booleanDataFlavor是否表示序列化对象?boolean返回此DataFlavor的表示类是否为java.nio.ByteBuffer或其子类。boolean返回此DataFlavor的表示类是否为java.nio.CharBuffer或其子类。booleanDataFlavor是否表示java.io.InputStream?boolean返回此DataFlavor的表示类是否为java.io.Reader或其子类。boolean如果表示类为Remote,则返回true。boolean如果表示类可以被序列化,则返回true。booleanmatch(DataFlavor that) protected StringnormalizeMimeType(String mimeType) 已弃用。从1.1版本开始,此方法不会被此实现调用protected StringnormalizeMimeTypeParameter(String parameterName, String parameterValue) 已弃用。从1.1版本开始,此方法不会被此实现调用void从序列化状态中恢复此DataFlavor。static final DataFlavorselectBestTextFlavor(DataFlavor[] availableFlavors) 从DataFlavor数组中选择最佳的文本DataFlavor。voidsetHumanPresentableName(String humanPresentableName) 设置此DataFlavor表示的数据格式的人类可读名称。toString()此DataFlavor及其参数的字符串表示。protected static final Class<?> tryToLoadClass(String className, ClassLoader fallback) 尝试从:引导加载程序、系统加载程序、上下文加载程序(如果存在)和最后指定的加载程序中加载类。void序列化此DataFlavor。
-
Field Details
-
stringFlavor
代表Java Unicode String类的DataFlavor,其中:representationClass = java.lang.String mimeType = "application/x-java-serialized-object" -
imageFlavor
代表Java Image类的DataFlavor,其中:representationClass = java.awt.Image mimeType = "image/x-java-image"如果java.awt.Image不可见,未加载java.desktop模块,或者java.desktop模块未包含在运行时映像中,则将为null。 -
plainTextFlavor
Deprecated.as of 1.3. UsegetReaderForText(java.awt.datatransfer.Transferable)instead ofTransferable.getTransferData(DataFlavor.plainTextFlavor).代表使用Unicode编码的纯文本的DataFlavor,其中:representationClass = InputStream mimeType = "text/plain; charset=unicode"这个DataFlavor已经被弃用,因为:- 它的表示是一个InputStream,一个基于8位的表示,而Unicode是一个16位字符集
- 字符集"unicode"没有明确定义。"unicode"意味着特定平台对Unicode的实现,而不是跨平台实现
-
javaSerializedObjectMimeType
MIME内容类型为application/x-java-serialized-object表示已经持久化的Java对象图。与这个
DataFlavor关联的表示类标识作为引用从调用java.awt.datatransfer.getTransferData返回的对象的Java类型。- 参见:
-
javaFileListFlavor
为了在Java(和底层平台)之间传输文件列表,使用此类型/子类型和表示类为java.util.List的DataFlavor。列表的每个元素需要/保证是java.io.File类型。 -
javaJVMLocalObjectMimeType
为了在同一JVM内通过Transferable接口传输没有关联MIME内容类型的任意Java对象引用,使用具有此类型/子类型的DataFlavor,其representationClass等于通过Transferable传递的类/接口的类型。对于具有此MIME内容类型的
DataFlavor从Transferable.getTransferData返回的对象引用需要是DataFlavor的表示类的实例。- 参见:
-
javaRemoteObjectMimeType
通过拖放ACTION_LINK操作传递到远程对象的活动链接时,应使用application/x-java-remote-object的Mime内容类型,其中DataFlavor的表示类表示要传输的Remote接口的类型。- 参见:
-
selectionHtmlFlavor
表示HTML标记的一部分。标记由源端选择的部分组成。因此,标记中的一些标签可能是不成对的。如果该flavor用于在Transferable实例中表示数据,则不会进行任何额外更改。此DataFlavor实例表示与不包含文档参数的DataFlavor实例相同的HTML标记,表示类为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
-
-
Constructor Details
-
DataFlavor
public DataFlavor()构造一个新的DataFlavor。此构造函数仅用于支持Externalizable接口。不适用于公共(客户端)使用。- 自:
- 1.2
-
DataFlavor
构造一个代表Java类的DataFlavor。返回的
DataFlavor将具有以下特征:representationClass = representationClass mimeType = application/x-java-serialized-object- 参数:
-
representationClass- 用于在此flavor中传输数据的类 -
humanPresentableName- 用于标识此flavor的人类可读字符串;如果此参数为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- 用于标识此flavor的MIME类型的字符串;如果mimeType未指定"class="参数,或者类未成功加载,则抛出IllegalArgumentException -
humanPresentableName- 用于标识此flavor的人类可读字符串;如果此参数为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- 用于标识此flavor的MIME类型的字符串 -
humanPresentableName- 用于标识此flavor的人类可读字符串 -
classLoader- 要使用的类加载器 - 抛出:
-
ClassNotFoundException- 如果类未加载 -
IllegalArgumentException- 如果mimeType无效 -
NullPointerException- 如果mimeType为null
-
DataFlavor
从mimeType字符串构造一个DataFlavor。该字符串可以指定一个"class=<完全指定的Java类名>"参数,以创建具有所需表示类的DataFlavor。如果字符串不包含"class="参数,则默认使用java.io.InputStream。- 参数:
-
mimeType- 用于标识此flavor的MIME类型的字符串;如果由"class="参数指定的类未成功加载,则抛出ClassNotFoundException - 抛出:
-
ClassNotFoundException- 如果类未加载 -
IllegalArgumentException- 如果mimeType无效 -
NullPointerException- 如果mimeType为null
-
-
Method Details
-
tryToLoadClass
protected static final Class<?> tryToLoadClass(String className, ClassLoader fallback) throws ClassNotFoundException 尝试从:引导加载器、系统加载器、上下文加载器(如果存在)和最后指定的加载器中加载类。- 参数:
-
className- 要加载的类的名称 -
fallback- 回退加载器 - 返回:
- 加载的类
- 抛出:
-
ClassNotFoundException- 如果未找到类
-
toString
此DataFlavor及其参数的字符串表示。结果的String包含DataFlavor类的名称、此flavor的MIME类型和其表示类。如果此flavor的主要MIME类型为"text",支持charset参数,并具有编码表示,则还包括flavor的charset。有关支持charset参数的文本flavor列表,请参见selectBestTextFlavor。 -
getTextPlainUnicodeFlavor
返回一个表示使用Unicode编码的纯文本的DataFlavor,其中: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。 - 返回:
-
一个表示使用Unicode编码的纯文本的
DataFlavor - 自版本:
- 1.3
-
selectBestTextFlavor
从一组DataFlavor中选择最佳的文本DataFlavor。仅考虑DataFlavor.stringFlavor和等效的flavors,以及具有主要MIME类型为"text"的flavors。首先按照它们的MIME类型按以下顺序对flavors进行排序:
- "text/sgml"
- "text/xml"
- "text/html"
- "text/rtf"
- "text/enriched"
- "text/richtext"
- "text/uri-list"
- "text/tab-separated-values"
- "text/t140"
- "text/rfc822-headers"
- "text/parityfec"
- "text/directory"
- "text/css"
- "text/calendar"
- "application/x-java-serialized-object"
- "text/plain"
- "text/<other>"
例如,"text/sgml"将优先于"text/html",
DataFlavor.stringFlavor将优先于DataFlavor.plainTextFlavor。如果数组中有两个或更多flavors共享最佳的MIME类型,则将检查该MIME类型以查看它是否支持charset参数。
以下MIME类型支持或被视为支持charset参数:
- "text/sgml"
- "text/xml"
- "text/html"
- "text/enriched"
- "text/richtext"
- "text/uri-list"
- "text/directory"
- "text/css"
- "text/calendar"
- "application/x-java-serialized-object"
- "text/plain"
- "text/rtf"
- "text/tab-separated-values"
- "text/t140"
- "text/rfc822-headers"
- "text/parityfec"
DataFlavor中。如果是,则JRE将从那一点开始假定MIME类型支持charset参数,并且不会再次检查。如果参数没有明确列出,则JRE将从那一点开始假定MIME类型不支持charset参数,并且不会再次检查。因为此检查是在任意选择的DataFlavor上执行的,开发人员必须确保所有具有"text/<other>" MIME类型的DataFlavor如果该MIME类型支持,则指定charset参数。开发人员不应依赖JRE将平台的默认charset替换为"text/<other>" DataFlavor。不遵守此限制将导致未定义的行为。如果数组中最佳的MIME类型不支持charset参数,则共享该MIME类型的flavors将按照以下顺序按其表示类进行排序:
java.io.InputStream,java.nio.ByteBuffer,[B,<所有其他>。如果两个或更多flavors共享最佳表示类,或者如果没有一个flavor具有三个指定表示中的一个,则将非确定性地选择其中一个flavor。
如果数组中最佳的MIME类型支持charset参数,则共享该MIME类型的flavors将按照以下顺序按其表示类进行排序:
java.io.Reader,java.lang.String,java.nio.CharBuffer,[C,<所有其他>。如果两个或更多flavors共享最佳表示类,并且该表示是四个明确列出的表示之一,则将非确定性地选择其中一个flavor。但是,如果没有一个flavor具有四个指定表示中的一个,则flavors将按其字符集进行排序。Unicode字符集,如"UTF-16","UTF-8","UTF-16BE","UTF-16LE"及其别名,被认为是最佳的。之后选择平台默认字符集及其别名。"US-ASCII"及其别名是最差的。所有其他字符集按字母顺序选择,但只有此Java平台实现支持的字符集将被考虑。
如果两个或更多flavors共享最佳字符集,则flavors将再次按其表示类按以下顺序进行排序:
java.io.InputStream,java.nio.ByteBuffer,[B,<所有其他>。如果两个或更多flavors共享最佳表示类,或者如果没有一个flavor具有三个指定表示中的一个,则将非确定性地选择其中一个flavor。
- 参数:
-
availableFlavors- 一个可用的DataFlavor数组 - 返回:
-
根据上述规则返回最佳(最高保真度)flavor,如果
availableFlavors为null,长度为零,或不包含文本flavor,则返回null - 自版本:
- 1.3
-
getReaderForText
public Reader getReaderForText(Transferable transferable) throws UnsupportedFlavorException, IOException 获取文本flavor的Reader,必要时解码为预期的字符集(编码)。支持的表示类包括java.io.Reader,java.lang.String,java.nio.CharBuffer,[C,java.io.InputStream,java.nio.ByteBuffer和[B。因为不支持charset参数的文本flavor以非标准格式编码,所以不应该为这样的flavor调用此方法。但是,为了保持向后兼容性,如果为这样的flavor调用此方法,则此方法将视为该flavor支持charset参数,并尝试相应地解码。请参阅
selectBestTextFlavor以获取不支持charset参数的文本flavor列表。- 参数:
-
transferable- 将请求其数据的Transferable - 返回:
-
用于读取
Transferable数据的Reader - 抛出:
-
IllegalArgumentException- 如果表示类不是上述七个之一 -
IllegalArgumentException- 如果Transferable具有null数据 -
NullPointerException- 如果Transferable为null -
UnsupportedEncodingException- 如果此flavor的表示是java.io.InputStream,java.nio.ByteBuffer或[B,并且此flavor的编码不受此Java平台实现支持 -
UnsupportedFlavorException- 如果Transferable不支持此flavor -
IOException- 如果由于I/O错误而无法读取数据 - 自版本:
- 1.3
- 参见:
-
getMimeType
返回此DataFlavor的MIME类型字符串。- 返回:
- 此flavor的MIME类型字符串
-
getRepresentationClass
返回支持此DataFlavor的对象在请求此DataFlavor时将返回的Class。- 返回:
-
支持此
DataFlavor的对象在请求此DataFlavor时将返回的Class
-
getHumanPresentableName
返回此DataFlavor表示的数据格式的人类可读名称。此名称将针对不同国家/地区进行本地化。- 返回:
-
此
DataFlavor表示的数据格式的人类可读名称
-
getPrimaryType
返回此DataFlavor的主要MIME类型。- 返回:
-
此
DataFlavor的主要MIME类型
-
getSubType
返回此DataFlavor的子MIME类型。- 返回:
-
此
DataFlavor的子MIME类型
-
getParameter
如果paramName等于"humanPresentableName",则返回此DataFlavor的人类可读名称。否则返回与paramName关联的MIME类型值。- 参数:
-
paramName- 请求的参数名称 - 返回:
-
名称参数的值,如果没有关联值,则返回
null
-
setHumanPresentableName
设置此DataFlavor表示的数据格式的人类可读名称。此名称将针对不同国家/地区进行本地化。- 参数:
-
humanPresentableName- 新的人类可读名称
-
equals
表示某个对象是否与此对象相等。equals方法在非空对象引用上实现了等价关系:- 它是自反的:对于任何非空引用值
x,x.equals(x)应返回true。 - 它是对称的:对于任何非空引用值
x和y,只有当x.equals(y)返回true时,y.equals(x)才应返回true。 - 它是传递的:对于任何非空引用值
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类的equals比较实现如下:仅当两个DataFlavor的MIME主类型、子类型和表示类相等时,它们才被视为相等。此外,如果主类型为"text",子类型表示支持charset参数的文本类型,并且表示类不是java.io.Reader、java.lang.String、java.nio.CharBuffer或[C,则charset参数也必须相等。如果未明确为一个或两个DataFlavor指定了字符集,则假定为平台默认编码。请参阅selectBestTextFlavor以获取支持charset参数的文本类型列表。 - 它是自反的:对于任何非空引用值
-
equals
此方法与equals(Object)具有相同的行为。唯一的区别在于它将DataFlavor实例作为参数。- 参数:
-
that- 与this比较的DataFlavor - 返回:
-
如果
that等同于此DataFlavor,则返回true;否则返回false - 另请参阅:
-
equals
Deprecated.As inconsistent withhashCode()contract, useisMimeTypeEqual(String)instead.仅比较mimeType与传入的String,不考虑representationClass。如果需要比较representationClass,则可以使用equals(new DataFlavor(s))。- 参数:
-
s- 要比较的mimeType - 返回:
-
如果字符串(MimeType)相等,则返回
true;否则返回false或如果s为null则返回false
-
hashCode
public int hashCode()返回此DataFlavor的哈希码。对于两个相等的DataFlavor,哈希码是相等的。对于与DataFlavor.equals(String)匹配的String,不能保证DataFlavor的哈希码等于String的哈希码。 -
match
- 参数:
-
that- 与this比较的DataFlavor - 返回:
-
如果
that等同于此DataFlavor,则返回true;否则返回false - 自1.3起
- 另请参阅:
-
isMimeTypeEqual
返回传入的MIME类型的字符串表示是否等同于此DataFlavor的MIME类型。不包括参数在比较中。- 参数:
-
mimeType- MIME类型的字符串表示 - 返回:
-
如果传入的MIME类型的字符串表示等同于此
DataFlavor的MIME类型,则返回true;否则返回false - 抛出:
-
NullPointerException- 如果mimeType为null
-
isMimeTypeEqual
比较两个DataFlavor对象的mimeType。不考虑参数。- 参数:
-
dataFlavor- 要比较的DataFlavor - 返回:
-
如果
MimeType相等,则返回true;否则返回false
-
isMimeTypeSerializedObject
public boolean isMimeTypeSerializedObject()此DataFlavor是否表示序列化对象?- 返回:
- 是否表示序列化对象
-
getDefaultRepresentationClass
返回默认表示类。- 返回:
- 默认表示类
-
getDefaultRepresentationClassAsString
返回默认表示类的名称。- 返回:
- 默认表示类的名称
-
isRepresentationClassInputStream
public boolean isRepresentationClassInputStream()此DataFlavor是否表示java.io.InputStream?- 返回:
-
是否表示
java.io.InputStream
-
isRepresentationClassReader
public boolean isRepresentationClassReader()返回此DataFlavor的表示类是否为java.io.Reader或其子类。- 返回:
-
表示类是否为
java.io.Reader或其子类 - 自1.4起
-
isRepresentationClassCharBuffer
public boolean isRepresentationClassCharBuffer()返回此DataFlavor的表示类是否为java.nio.CharBuffer或其子类。- 返回:
-
表示类是否为
java.nio.CharBuffer或其子类 - 自1.4起
-
isRepresentationClassByteBuffer
public boolean isRepresentationClassByteBuffer()返回此DataFlavor的表示类是否为java.nio.ByteBuffer或其子类。- 返回:
-
表示类是否为
java.nio.ByteBuffer或其子类 - 自1.4起
-
isRepresentationClassSerializable
public boolean isRepresentationClassSerializable()如果表示类可以序列化,则返回true。- 返回:
-
如果表示类可以序列化,则返回
true
-
isRepresentationClassRemote
public boolean isRepresentationClassRemote()如果表示类为Remote,则返回true。- 返回:
-
如果表示类为
Remote,则返回true
-
isFlavorSerializedObjectType
public boolean isFlavorSerializedObjectType()如果指定的DataFlavor表示序列化对象,则返回true。- 返回:
-
如果指定的
DataFlavor表示序列化对象,则返回true
-
isFlavorRemoteObjectType
public boolean isFlavorRemoteObjectType()如果指定的DataFlavor表示远程对象,则返回true。- 返回:
-
如果指定的
DataFlavor表示远程对象,则返回true
-
isFlavorJavaFileListType
public boolean isFlavorJavaFileListType()如果指定的DataFlavor表示文件对象列表,则返回true。- 返回:
-
如果指定的
DataFlavor表示java.util.List的java.io.File对象,则返回true
-
isFlavorTextType
public boolean isFlavorTextType()返回此Java平台实现的DataFlavor是否是有效的文本 flavor。只有等同于DataFlavor.stringFlavor和主要MIME类型为"text"的flavor才能是有效的文本 flavor。如果此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,则此flavor的charset参数必须受到Java平台此实现的支持。如果未指定charset,则假定为平台默认charset,该charset始终受支持。如果此flavor不支持charset参数,则其表示必须是
java.io.InputStream、java.nio.ByteBuffer或[B。查看
selectBestTextFlavor以获取支持charset参数的文本flavor列表。- 返回:
-
如果此
DataFlavor符合上述有效文本flavor的描述,则返回true;否则返回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) Deprecated.This method is never invoked by this implementation from 1.1 onwards对每个MIME类型参数调用DataFlavor,以允许DataFlavor子类处理特殊参数,如text/plain的charset参数,其值不区分大小写。(MIME类型参数值应区分大小写。)对每个参数名称/值对调用此方法,并应返回
parameterValue的规范化表示。- 参数:
-
parameterName- 参数名称 -
parameterValue- 参数值 - 返回:
- 参数值
-
normalizeMimeType
Deprecated.This method is never invoked by this implementation from 1.1 onwards对每个MIME类型字符串调用以让DataFlavor子类型有机会更改如何完成MIME类型的规范化。一个可能的用途是在传入的MIME类型字符串中没有出现参数/值对的情况下添加默认参数/值对。- 参数:
-
mimeType- MIME类型 - 返回:
- MIME类型
-