- 所有已实现的接口:
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 DataFlavorDataFlavor表示 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 Stringapplication/x-java-serialized-object 的 MIME 内容类型表示已持久化的 Java 对象图。static final DataFlavor已弃用。从 1.3 开始。static final DataFlavor表示一段 HTML 标记。static final DataFlavorDataFlavor表示 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的克隆。booleanequals(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 编码的纯文本,其中:inthashCode()返回此DataFlavor的哈希码。boolean如果指定的DataFlavor表示文件对象列表,则返回true。boolean如果指定的DataFlavor表示远程对象,则返回true。boolean如果指定的DataFlavor表示序列化对象,则返回true。boolean返回此DataFlavor是否是此 Java 平台实现的有效文本风格。final booleanisMimeTypeEqual(DataFlavor dataFlavor) 比较两个DataFlavor对象的mimeType。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) 与equals(DataFlavor)相同。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。
-
字段详细信息
-
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=”参数,或者类未成功加载,则抛出IllegalArgumentExceptionhumanPresentableName- 用于识别此风味的人类可读字符串;如果此参数为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是nullUnsupportedEncodingException- 如果这种风格的表示是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 类型- 返回:
- 哑剧类型
-