src/solaris/classes/sun/awt/X11/XDataTransferer.java
Print this page
@@ -256,32 +256,13 @@
protected URI[] dragQueryURIs(InputStream stream,
long format,
Transferable localeTransferable)
throws IOException {
- String charset = null;
- if (localeTransferable != null &&
- isLocaleDependentTextFormat(format) &&
- localeTransferable.isDataFlavorSupported(javaTextEncodingFlavor)) {
- try {
- charset = new String(
- (byte[])localeTransferable.getTransferData(javaTextEncodingFlavor),
- "UTF-8"
- );
- } catch (UnsupportedFlavorException cannotHappen) {
- }
- } else {
- charset = getCharsetForTextFormat(format);
- }
- if (charset == null) {
- // Only happens when we have a custom text type.
- charset = getDefaultTextCharset();
- }
-
- BufferedReader reader = null;
- try {
- reader = new BufferedReader(new InputStreamReader(stream, charset));
+ String charset = getBestCharsetForTextFormat(format, localeTransferable);
+ try (InputStreamReader isr = new InputStreamReader(stream, charset);
+ BufferedReader reader = new BufferedReader(isr)) {
String line;
ArrayList<URI> uriList = new ArrayList<>();
URI uri;
while ((line = reader.readLine()) != null) {
try {
@@ -290,13 +271,10 @@
throw new IOException(uriSyntaxException);
}
uriList.add(uri);
}
return uriList.toArray(new URI[uriList.size()]);
- } finally {
- if (reader != null)
- reader.close();
}
}
/**
* Returns true if and only if the name of the specified format Atom