There are a few of methods in DFSTestUtil that do not close the resource safely, or elegantly. We can use the try-with-resource statement to address this problem.
Specially, as DFSTestUtil is popularly used in test, we need to preserve any exceptions thrown during the processing of the resource while still guaranteeing it's closed finally. Take for example,the current implementation of DFSTestUtil#createFile() closes the FSDataOutputStream in the finally block, and when closing if the internal DFSOutputStream#close() throws any exception, which it often does, the exception thrown during the processing will be lost. See this test failure, and we have to guess what was the root cause.
Using try-with-resource, we can close the resources safely, and the exceptions thrown both in processing and closing will be available (closing exception will be suppressed). Besides the try-with-resource, if a stream is not necessary, don't create/close it.