public class DataFlavor extends Object implements Externalizable, 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
。 当getTransferData
与调用DataFlavor
的imageFlavor
,实例java.awt.Image
返回。 重要的是要注意, DataFlavor
不会对代表类进行错误检查。 DataFlavor的DataFlavor
,如Transferable
,要兑现代表班。
请注意,如果在创建DataFlavor
时未指定表示类,则使用默认表示类。 请参阅DataFlavor的构造函数的DataFlavor
文档。
此外,具有“文本”主MIME类型的DataFlavor
实例可能具有“charset”参数。 请参阅RFC 2046和selectBestTextFlavor(java.awt.datatransfer.DataFlavor[])
对“文本” MIME类型和“字符集”参数的详细信息。
DataFlavors
的等同性由主要类型,子类型和表示类决定。 详见equals(DataFlavor)
。 当确定相等时,任何可选参数都将被忽略。 例如,以下生成两个DataFlavors
认为是相同的两个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进行数据传输的更多信息,请参阅Java Tutorial中的How to Use Drag and Drop and Data Transfer部分。
Modifier and Type | Field and Description |
---|---|
static DataFlavor |
allHtmlFlavor
代表一个HTML标记。
|
static DataFlavor |
fragmentHtmlFlavor
代表一个HTML标记。
|
static DataFlavor |
imageFlavor
DataFlavor 代表Java Image类,其中:
|
static DataFlavor |
javaFileListFlavor
到文件的列表传送到/从Java(和底层平台)一个
DataFlavor 此类型/子类型和表示类的
java.util.List 被使用。
|
static String |
javaJVMLocalObjectMimeType
转移到不具有关联的MIME内容类型的任意Java对象基准的基准,穿过一个
Transferable 接口WITHIN THE SAME JVM中,
DataFlavor 与此类型/子类型时,用
representationClass 等于类/接口的类型正在通过
Transferable 。
|
static String |
javaRemoteObjectMimeType
为了经由拖放到活动链接传递到远程对象和Drop
ACTION_LINK 操作应用程序/ x-java的远程对象的MIME内容类型应被使用,其中所述表示类的
DataFlavor 表示的类型
Remote 接口被转移。
|
static String |
javaSerializedObjectMimeType
MIME内容 - 应用程序类型/ x-java-serialized-object表示已被持久化的Java对象的图形。
|
static DataFlavor |
plainTextFlavor
已弃用
截至1.3。
使用
DataFlavor.getReaderForText(Transferable) 而不是Transferable.getTransferData(DataFlavor.plainTextFlavor) 。
|
static DataFlavor |
selectionHtmlFlavor
代表一个HTML标记。
|
static DataFlavor |
stringFlavor
DataFlavor 代表Java Unicode String类,其中:
|
Constructor and Description |
---|
DataFlavor()
构造一个新的
DataFlavor 。
|
DataFlavor(类<?> representationClass, String humanPresentableName)
构造一个
DataFlavor Java类的DataFlavor。
|
DataFlavor(String mimeType)
从一个
mimeType 字符串
DataFlavor 一个
mimeType 。
|
DataFlavor(String mimeType, String humanPresentableName)
构造一个
DataFlavor ,代表一个
MimeType 。
|
DataFlavor(String mimeType, String humanPresentableName, ClassLoader classLoader)
构造一个
DataFlavor ,代表一个
MimeType 。
|
Modifier and Type | Method and Description |
---|---|
Object |
clone()
返回此
DataFlavor 的克隆。
|
boolean |
equals(DataFlavor that)
此方法与
equals(Object) 具有相同的行为。
|
boolean |
equals(Object o)
指示一些其他对象是否等于此。
|
boolean |
equals(String s)
已弃用
与
hashCode() 合同hashCode() ,请使用isMimeTypeEqual(String) 。
|
类<?> |
getDefaultRepresentationClass() |
String |
getDefaultRepresentationClassAsString() |
String |
getHumanPresentableName()
返回这个数据格式人表示名
DataFlavor 代表。
|
String |
getMimeType()
返回此
DataFlavor 的MIME类型字符串。
|
String |
getParameter(String paramName)
如果
paramName 等于“humanPresentableName”,则返回此
DataFlavor 的人性化名称。
|
String |
getPrimaryType()
返回此
DataFlavor 的主MIME类型。
|
Reader |
getReaderForText(Transferable transferable)
获取一个文本风味的阅读器,如有必要,解码为预期的字符集(编码)。
|
类<?> |
getRepresentationClass()
返回
类 其对象支持此
DataFlavor 何时会返回
DataFlavor 请求。
|
String |
getSubType()
返回此
DataFlavor 的子MIME类型。
|
static DataFlavor |
getTextPlainUnicodeFlavor()
返回一个
DataFlavor 代表Unicode编码的纯文本,其中:
|
int |
hashCode()
返回这个
DataFlavor 哈希码。
|
boolean |
isFlavorJavaFileListType()
如果指定的
DataFlavor 表示文件对象的列表,则返回true。
|
boolean |
isFlavorRemoteObjectType()
如果返回true
DataFlavor 指定的代表远程对象。
|
boolean |
isFlavorSerializedObjectType()
如果指定的
DataFlavor 表示序列化对象,则返回true。
|
boolean |
isFlavorTextType()
返回此
DataFlavor 是否是Java平台实现的有效文本风格。
|
boolean |
isMimeTypeEqual(DataFlavor dataFlavor)
比较
mimeType 两个
DataFlavor 对象。
|
boolean |
isMimeTypeEqual(String mimeType)
返回的MIME类型传递的字符串表示形式是否等同于MIME类型如此
DataFlavor 。
|
boolean |
isMimeTypeSerializedObject()
DataFlavor 是否
DataFlavor 序列化对象?
|
boolean |
isRepresentationClassByteBuffer()
返回此
DataFlavor 的表示类是否为
java.nio.ByteBuffer 或其子类。
|
boolean |
isRepresentationClassCharBuffer()
返回此
DataFlavor 的表示类是否为
java.nio.CharBuffer 或其子类。
|
boolean |
isRepresentationClassInputStream()
DataFlavor 是否代表
java.io.InputStream ?
|
boolean |
isRepresentationClassReader()
返回此
DataFlavor 的表示类别是否为
java.io.Reader 或其子类。
|
boolean |
isRepresentationClassRemote()
如果代表类为
Remote 则返回true。
|
boolean |
isRepresentationClassSerializable()
如果表示类可以序列化,则返回true。
|
boolean |
match(DataFlavor that)
相同于
equals(DataFlavor) 。
|
protected String |
normalizeMimeType(String mimeType)
已弃用
|
protected String |
normalizeMimeTypeParameter(String parameterName, String parameterValue)
已弃用
|
void |
readExternal(ObjectInput is)
从序列化状态恢复此
DataFlavor 。
|
static DataFlavor |
selectBestTextFlavor(DataFlavor[] availableFlavors)
选择最好的文本
DataFlavor 从数组
DataFlavor 秒。
|
void |
setHumanPresentableName(String humanPresentableName)
设置这个数据格式人表示名
DataFlavor 代表。
|
String |
toString()
这个
DataFlavor 字符串表示及其参数。
|
protected static 类<?> |
tryToLoadClass(String className, ClassLoader fallback)
尝试加载一个类:引导加载程序,系统加载程序,上下文加载程序(如果存在),最后指定加载程序。
|
void |
writeExternal(ObjectOutput os)
序列化这个
DataFlavor 。
|
public static final DataFlavor stringFlavor
DataFlavor
代表Java Unicode String类,其中:
representationClass = java.lang.String
mimeType = "application/x-java-serialized-object"
public static final DataFlavor imageFlavor
DataFlavor
表示Java Image类,其中:
representationClass = java.awt.Image
mimeType = "image/x-java-image"
@Deprecated public static final DataFlavor plainTextFlavor
DataFlavor.getReaderForText(Transferable)
而不是Transferable.getTransferData(DataFlavor.plainTextFlavor)
。
DataFlavor
用Unicode编码表示纯文本,其中:
representationClass = InputStream
mimeType = "text/plain; charset=unicode"
这个DataFlavor
已被弃用 ,因为(1)它的表示是一个InputStream,一个基于8位的表示,而Unicode是一个16位字符集;
和(2)字符集“unicode”没有明确定义。
“unicode”意味着特定平台的Unicode实现,而不是跨平台的实现。
public static final String javaSerializedObjectMimeType
DataFlavor
关联的表示类识别从调用返回的对象的Java类型java.awt.datatransfer.getTransferData
。
public static final DataFlavor javaFileListFlavor
DataFlavor
到此类型/子类型DataFlavor和代表类别java.util.List
。
列表中的每个元素都需要/保证是类型java.io.File
。
public static final String javaJVMLocalObjectMimeType
Transferable
接口WITHIN THE SAME JVM中, DataFlavor
与此类型/子类型时,用representationClass
等于类/接口的类型正在通过Transferable
。
从返回的对象参考Transferable.getTransferData
为DataFlavor
与此MIME内容类型需要是所述的表示类的实例DataFlavor
。
public static final String javaRemoteObjectMimeType
ACTION_LINK
操作应用程序/ x-java的远程对象的MIME内容类型应被使用,其中所述表示类的
DataFlavor
表示的类型
Remote
接口被转移。
public static DataFlavor selectionHtmlFlavor
Transferable
实例中的数据,则不会再进行其他更改。
该DataFlavor实例表示与ContentFlavor实例相同的HTML标记,内容MIME类型不包含文档参数,表示类是String类。
representationClass = String
mimeType = "text/html"
public static DataFlavor fragmentHtmlFlavor
Transferable
实例中的数据,则不会进行任何其他更改。
representationClass = String
mimeType = "text/html"
public static DataFlavor allHtmlFlavor
Transferable
实例中的数据,则不会进行任何其他更改。
representationClass = String
mimeType = "text/html"
public DataFlavor()
DataFlavor
。
此构造函数仅用于支持Externalizable
接口。
它不适用于公共(客户端)使用。
public DataFlavor(类<?> representationClass, String humanPresentableName)
DataFlavor
Java类的DataFlavor。
返回的DataFlavor
将具有以下特点:
representationClass = representationClass
mimeType = application/x-java-serialized-object
representationClass
- 用于传输这种风味的数据的类
humanPresentableName
- 用于识别这种风味的人类可读字符串;
如果此参数是null
,则使用MIME内容类型的值
NullPointerException
- 如果
representationClass
为空
public DataFlavor(String mimeType, String humanPresentableName)
DataFlavor
MimeType的MimeType
。
返回的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
为空
public DataFlavor(String mimeType, String humanPresentableName, ClassLoader classLoader) throws ClassNotFoundException
DataFlavor
代表一个MimeType
。
返回的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
为空
public DataFlavor(String mimeType) throws ClassNotFoundException
mimeType
字符串DataFlavor
一个mimeType
。
该字符串可以指定“class = <完全指定Java类名>”参数创建一个DataFlavor
具有所需表示类。
如果字符串不包含“class =”参数,则默认使用java.io.InputStream
。
mimeType
- 用于识别此风味的MIME类型的字符串;
如果由“class =”参数指定的类未成功加载,则抛出ClassNotFoundException
ClassNotFoundException
- 如果该类没有加载
IllegalArgumentException
- 如果
mimeType
无效
NullPointerException
- 如果
mimeType
为空
protected static final 类<?> tryToLoadClass(String className, ClassLoader fallback) throws ClassNotFoundException
className
- 要加载的类的名称
fallback
- 后备装载机
ClassNotFoundException
- 如果没有找到类
public String toString()
DataFlavor
字符串表示及其参数。
所得到的String
包含DataFlavor
类的名称,这种风格的MIME类型及其表示类。
如果这种风格的主要MIME类型为“text”,则支持charset参数,并且具有编码表示形式,还包括flavor的字符集。
见selectBestTextFlavor
用于支持charset参数的文本flavor的列表。
toString
在类别
Object
DataFlavor
字符串
DataFlavor
selectBestTextFlavor(java.awt.datatransfer.DataFlavor[])
public static final DataFlavor getTextPlainUnicodeFlavor()
DataFlavor
代表Unicode编码的纯文本,其中:
representationClass = java.io.InputStream
mimeType = "text/plain;
charset=<platform default Unicode encoding>"
Sun的Microsoft Windows实现使用编码utf-16le
。
Sun对Solaris和Linux的实现使用编码iso-10646-ucs-2
。
DataFlavor
用Unicode编码表示纯文本
public static final DataFlavor selectBestTextFlavor(DataFlavor[] availableFlavors)
DataFlavor
从数组DataFlavor
秒。
只有DataFlavor.stringFlavor
,以及等效的口味和主要MIME类型为“text”的口味被考虑用于选择。
风味首先按照以下顺序按其MIME类型排序:
例如,“text / sgml”将通过“text / html”进行选择, DataFlavor.stringFlavor
将被选择为DataFlavor.plainTextFlavor
。
如果两个或更多个口味在数组中共享最佳的MIME类型,那么将检查该MIME类型,以查看它是否支持charset参数。
以下MIME类型支持,或被视为支持的charset参数:
DataFlavor
它使用MIME类型。
如果是这样,JRE将从该点假设MIME类型支持charset参数,并且不会再次检查。
如果没有明确列出参数,JRE将从该点假设MIME类型不支持charset参数,并且不会再次检查。
因为此检查是在任意选择的执行DataFlavor
,开发人员必须确保所有DataFlavor
s的一个“文本/ <其它>” MIME类型指定字符集参数,如果它是由MIME类型所支持。
开发人员不应该依赖JRE将平台的默认字符集替换为“text / <other>”DataFlavor。
不遵守这一限制将导致未定义的行为。
如果阵列中的最佳MIME类型不支持charset参数,则共享MIME类型的flavor然后可通过它们的表示的类以下面的顺序进行排序: java.io.InputStream
, java.nio.ByteBuffer
, [B
,<所有其他>。
如果两种或更多种口味共享最佳代表类,或者如果没有风味具有三种指定的表示之一,则其中一种味道将被非确定性地选择。
如果阵列中的最佳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平台实现支持的字符集。
如果两个或多个flavor共享最佳的charset,则flavor再次按照其表示形式类排序,顺序如下: java.io.InputStream
, java.nio.ByteBuffer
, [B
,<所有其他>。
如果两种或更多种口味共享最佳代表类,或者如果没有风味具有三种指定的表示之一,则其中一种味道将被非确定性地选择。
availableFlavors
- 一个可用的数组
DataFlavor
s
null
,如果
availableFlavors
是
null
,具有零长度,或不包含文字风味
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
对于不支持charset参数的文本flavor的列表。
transferable
-
Transferable
的数据将被要求在这种风味
Reader
读取
Transferable
的数据
IllegalArgumentException
- 如果代表类不是上面列出的七个之一
IllegalArgumentException
- 如果
Transferable
有
null
数据
NullPointerException
- 如果
Transferable
是
null
UnsupportedEncodingException
-如果此flavor的表示形式为
java.io.InputStream
,
java.nio.ByteBuffer
,或
[B
这个flavor的编码不能由此实现Java平台的支持
UnsupportedFlavorException
- 如果
Transferable
不支持这种风味
IOException
- 如果由于I / O错误而无法读取数据
selectBestTextFlavor(java.awt.datatransfer.DataFlavor[])
public String getMimeType()
DataFlavor
的MIME类型字符串。
public 类<?> getRepresentationClass()
类
其对象支持此
DataFlavor
何时会返回
DataFlavor
请求。
类
支持此
DataFlavor
对象将在
DataFlavor
时返回
public String getHumanPresentableName()
DataFlavor
代表。
该名称将针对不同的国家进行本地化。
DataFlavor
代表
public String getPrimaryType()
DataFlavor
的主MIME类型。
DataFlavor
的主要MIME类型
public String getSubType()
DataFlavor
的子MIME类型。
DataFlavor
public String getParameter(String paramName)
paramName
等于“humanPresentableName”,则返回此DataFlavor
的人类可呈现的名称。
否则返回与paramName
的MIME类型值。
paramName
- 请求的参数名称
null
如果没有相关的值
public void setHumanPresentableName(String humanPresentableName)
DataFlavor
代表。
该名称将针对不同的国家进行本地化。
humanPresentableName
- 新的人性化的名字
public boolean equals(Object o)
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
。 该equals
类方法Object
实现对象上差别可能性最大的相等关系; 也就是说,对于任何非空的参考值x
和y
,当且仅当x
和y
引用相同的对象( x == y
具有值true
)时,此方法返回true
。
请注意,当覆盖该方法时,通常需要覆盖hashCode
方法,以便维护hashCode
方法的一般合同,该方法规定相等的对象必须具有相等的哈希码。
DataFlavor
类的等价比较实现如下:当且仅当它们的MIME主类型和子类型和表示类相等时,两个DataFlavor
被认为是相等的。 此外,如果主类型是“文本”,子类型表示文本flavor支持charset参数,和表示类不是java.io.Reader
, java.lang.String
, java.nio.CharBuffer
,或[C
,所述charset
参数也必须是相等的。 如果没有明确指定一个或两个DataFlavor
s的字符集,则假定平台默认编码。 见selectBestTextFlavor
用于支持charset参数的文本flavor的列表。
equals
在类别
Object
o
-
Object
与
this
比较
true
如果that
相当于这个DataFlavor
;
false
否则
selectBestTextFlavor(java.awt.datatransfer.DataFlavor[])
public boolean equals(DataFlavor that)
equals(Object)
具有相同的行为。
唯一的区别是它需要DataFlavor
实例作为参数。
that
-
DataFlavor
与
this
进行比较
true
如果that
相当于这个DataFlavor
;
false
否则
selectBestTextFlavor(java.awt.datatransfer.DataFlavor[])
@Deprecated public boolean equals(String s)
hashCode()
合同hashCode()
,请使用isMimeTypeEqual(String)
。
mimeType
对String
和representationClass
的通过,在representationClass
中没有考虑。
如果representationClass
需要进行比较,然后equals(new DataFlavor(s))
可以使用。
s
-
mimeType
进行比较。
s
为null
public int hashCode()
DataFlavor
哈希码。
对于两个相等的DataFlavor
s,哈希码是相等的。
对于String
匹配DataFlavor.equals(String)
,它不能保证DataFlavor
的哈希码等于的哈希码String
。
hashCode
在类别
Object
DataFlavor
的哈希码
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)
public boolean match(DataFlavor that)
equals(DataFlavor)
。
that
-
DataFlavor
与
this
进行比较
true
如果that
相当于这个DataFlavor
;
false
否则
selectBestTextFlavor(java.awt.datatransfer.DataFlavor[])
public boolean isMimeTypeEqual(String mimeType)
DataFlavor
。
参数不包括在比较中。
mimeType
- MIME类型的字符串表示形式
DataFlavor
的MIME类型, DataFlavor
;
否则为假
NullPointerException
- 如果mimeType是
null
public final boolean isMimeTypeEqual(DataFlavor dataFlavor)
mimeType
两个DataFlavor
对象。
没有考虑参数。
dataFlavor
- 要比较的
DataFlavor
MimeType
相同,则为true,否则为false
public boolean isMimeTypeSerializedObject()
DataFlavor
是否
DataFlavor
序列化对象?
public final 类<?> getDefaultRepresentationClass()
public final String getDefaultRepresentationClassAsString()
public boolean isRepresentationClassInputStream()
DataFlavor
是否代表
java.io.InputStream
?
public boolean isRepresentationClassReader()
DataFlavor
的表示类别是否为
java.io.Reader
或其子类。
public boolean isRepresentationClassCharBuffer()
DataFlavor
的表示类别是否为
java.nio.CharBuffer
或其子类。
public boolean isRepresentationClassByteBuffer()
DataFlavor
的表示类是否为
java.nio.ByteBuffer
或其子类。
public boolean isRepresentationClassSerializable()
public boolean isRepresentationClassRemote()
Remote
则返回true。
Remote
public boolean isFlavorSerializedObjectType()
DataFlavor
表示序列化对象,则返回true。
DataFlavor
表示序列化对象,则为true
public boolean isFlavorRemoteObjectType()
DataFlavor
指定的代表远程对象。
DataFlavor
指定的表示远程对象
public boolean isFlavorJavaFileListType()
DataFlavor
表示文件对象的列表,则返回true。
DataFlavor
表示File对象列表,则为true
public boolean isFlavorTextType()
DataFlavor
是否是Java平台实现的有效文本风格。
只有等同于DataFlavor.stringFlavor
和DataFlavor
s的主要MIME类型为“text”的口味可以是有效的文本风格。
如果此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
,那么这个味道的charset
参数必须通过此实现Java平台的支持。 如果未指定字符集,则会始终支持始终支持的平台默认字符集。
如果此flavor不支持charset参数,其形式必须是java.io.InputStream
, java.nio.ByteBuffer
,或[B
。
见selectBestTextFlavor
用于支持charset参数的文本flavor的列表。
true
如果这个DataFlavor
是如上所述的有效的文字风味;
false
否则
selectBestTextFlavor(java.awt.datatransfer.DataFlavor[])
public void writeExternal(ObjectOutput os) throws IOException
DataFlavor
。
writeExternal
在界面
Externalizable
os
- 将对象写入的流
IOException
- 包括可能发生的任何I / O异常
public void readExternal(ObjectInput is) throws IOException, ClassNotFoundException
DataFlavor
。
readExternal
在界面
Externalizable
is
- 为了恢复对象,要读取数据的流
IOException
- 如果发生I / O错误
ClassNotFoundException
- 如果找不到正在恢复的对象的类。
public Object clone() throws CloneNotSupportedException
DataFlavor
的克隆。
clone
在类别
Object
DataFlavor
一个克隆
CloneNotSupportedException
- 如果对象的类不支持Cloneable
接口。
覆盖clone
方法的子类也可以抛出此异常以指示实例无法克隆。
Cloneable
@Deprecated protected String normalizeMimeTypeParameter(String parameterName, String parameterValue)
DataFlavor
,以允许DataFlavor
子类处理特殊参数,如text / plain charset
参数,其值不区分大小写。
(MIME类型参数值应该区分大小写。
为每个参数名/值对调用此方法,并返回parameterValue的归一化parameterValue
。 此方法从1.1开始就不会被此实现所调用。
@Deprecated protected String normalizeMimeType(String mimeType)
DataFlavor
子类型改变MIME类型规范化如何完成的机会。
一种可能的用途是在传入的MIME类型字符串中不存在的情况下添加默认参数/值对。此方法从1.1起不会被此实现调用。