@@ -1187,6 +1187,7 @@ public <T> T fromXML(final String xml) {
11871187 *
11881188 * @throws XStreamException if the object cannot be deserialized
11891189 */
1190+ @ SuppressWarnings ("resource" )
11901191 public <T > T fromXML (final Reader reader ) {
11911192 return unmarshal (hierarchicalStreamDriver .createReader (reader ), null );
11921193 }
@@ -1196,6 +1197,7 @@ public <T> T fromXML(final Reader reader) {
11961197 *
11971198 * @throws XStreamException if the object cannot be deserialized
11981199 */
1200+ @ SuppressWarnings ("resource" )
11991201 public <T > T fromXML (final InputStream input ) {
12001202 return unmarshal (hierarchicalStreamDriver .createReader (input ), null );
12011203 }
@@ -1240,6 +1242,7 @@ public <T> T fromXML(final String xml, final T root) {
12401242 *
12411243 * @throws XStreamException if the object cannot be deserialized
12421244 */
1245+ @ SuppressWarnings ("resource" )
12431246 public <T > T fromXML (final Reader xml , final T root ) {
12441247 return unmarshal (hierarchicalStreamDriver .createReader (xml ), root );
12451248 }
@@ -1254,7 +1257,9 @@ public <T> T fromXML(final Reader xml, final T root) {
12541257 * @since 1.4
12551258 */
12561259 public <T > T fromXML (final URL url , final T root ) {
1257- return unmarshal (hierarchicalStreamDriver .createReader (url ), root );
1260+ try (HierarchicalStreamReader reader = hierarchicalStreamDriver .createReader (url )) {
1261+ return unmarshal (reader , root );
1262+ }
12581263 }
12591264
12601265 /**
@@ -1267,11 +1272,8 @@ public <T> T fromXML(final URL url, final T root) {
12671272 * @since 1.4
12681273 */
12691274 public <T > T fromXML (final File file , final T root ) {
1270- final HierarchicalStreamReader reader = hierarchicalStreamDriver .createReader (file );
1271- try {
1275+ try (final HierarchicalStreamReader reader = hierarchicalStreamDriver .createReader (file )) {
12721276 return unmarshal (reader , root );
1273- } finally {
1274- reader .close ();
12751277 }
12761278 }
12771279
@@ -1282,6 +1284,7 @@ public <T> T fromXML(final File file, final T root) {
12821284 *
12831285 * @throws XStreamException if the object cannot be deserialized
12841286 */
1287+ @ SuppressWarnings ("resource" )
12851288 public <T > T fromXML (final InputStream input , final T root ) {
12861289 return unmarshal (hierarchicalStreamDriver .createReader (input ), root );
12871290 }
@@ -1817,6 +1820,7 @@ public DataHolder newDataHolder() {
18171820 * @see #createObjectInputStream(com.thoughtworks.xstream.io.HierarchicalStreamReader)
18181821 * @since 1.0.3
18191822 */
1823+ @ SuppressWarnings ("resource" )
18201824 public ObjectOutputStream createObjectOutputStream (final Writer writer ) throws IOException {
18211825 return createObjectOutputStream (hierarchicalStreamDriver .createWriter (writer ), "object-stream" );
18221826 }
@@ -1843,6 +1847,7 @@ public ObjectOutputStream createObjectOutputStream(final HierarchicalStreamWrite
18431847 * @see #createObjectInputStream(com.thoughtworks.xstream.io.HierarchicalStreamReader)
18441848 * @since 1.0.3
18451849 */
1850+ @ SuppressWarnings ("resource" )
18461851 public ObjectOutputStream createObjectOutputStream (final Writer writer , final String rootNodeName )
18471852 throws IOException {
18481853 return createObjectOutputStream (hierarchicalStreamDriver .createWriter (writer ), rootNodeName );
@@ -1859,6 +1864,7 @@ public ObjectOutputStream createObjectOutputStream(final Writer writer, final St
18591864 * @see #createObjectInputStream(com.thoughtworks.xstream.io.HierarchicalStreamReader)
18601865 * @since 1.3
18611866 */
1867+ @ SuppressWarnings ("resource" )
18621868 public ObjectOutputStream createObjectOutputStream (final OutputStream out ) throws IOException {
18631869 return createObjectOutputStream (hierarchicalStreamDriver .createWriter (out ), "object-stream" );
18641870 }
@@ -1870,6 +1876,7 @@ public ObjectOutputStream createObjectOutputStream(final OutputStream out) throw
18701876 * @see #createObjectInputStream(com.thoughtworks.xstream.io.HierarchicalStreamReader)
18711877 * @since 1.3
18721878 */
1879+ @ SuppressWarnings ("resource" )
18731880 public ObjectOutputStream createObjectOutputStream (final OutputStream out , final String rootNodeName )
18741881 throws IOException {
18751882 return createObjectOutputStream (hierarchicalStreamDriver .createWriter (out ), rootNodeName );
@@ -1956,6 +1963,7 @@ public void close() {
19561963 * @see #createObjectOutputStream(com.thoughtworks.xstream.io.HierarchicalStreamWriter, String)
19571964 * @since 1.0.3
19581965 */
1966+ @ SuppressWarnings ("resource" )
19591967 public ObjectInputStream createObjectInputStream (final Reader xmlReader ) throws IOException {
19601968 return createObjectInputStream (hierarchicalStreamDriver .createReader (xmlReader ));
19611969 }
@@ -1967,6 +1975,7 @@ public ObjectInputStream createObjectInputStream(final Reader xmlReader) throws
19671975 * @see #createObjectOutputStream(com.thoughtworks.xstream.io.HierarchicalStreamWriter, String)
19681976 * @since 1.3
19691977 */
1978+ @ SuppressWarnings ("resource" )
19701979 public ObjectInputStream createObjectInputStream (final InputStream in ) throws IOException {
19711980 return createObjectInputStream (hierarchicalStreamDriver .createReader (in ));
19721981 }
0 commit comments