diff --git a/scalac-scoverage-plugin/src/main/scala/scoverage/Serializer.scala b/scalac-scoverage-plugin/src/main/scala/scoverage/Serializer.scala index 98667dd0..12f2c49c 100644 --- a/scalac-scoverage-plugin/src/main/scala/scoverage/Serializer.scala +++ b/scalac-scoverage-plugin/src/main/scala/scoverage/Serializer.scala @@ -85,7 +85,9 @@ object Serializer { new File(dataDir, Constants.CoverageFileName) def deserialize(file: File): Coverage = { - deserialize(Source.fromFile(file)(Codec.UTF8).getLines()) + val source = Source.fromFile(file)(Codec.UTF8) + try deserialize(source.getLines()) + finally source.close() } def deserialize(lines: Iterator[String]): Coverage = { diff --git a/scalac-scoverage-plugin/src/main/scala/scoverage/report/ScoverageHtmlWriter.scala b/scalac-scoverage-plugin/src/main/scala/scoverage/report/ScoverageHtmlWriter.scala index 791d397c..c2fd3721 100644 --- a/scalac-scoverage-plugin/src/main/scala/scoverage/report/ScoverageHtmlWriter.scala +++ b/scalac-scoverage-plugin/src/main/scala/scoverage/report/ScoverageHtmlWriter.scala @@ -39,12 +39,16 @@ class ScoverageHtmlWriter( val packageFile = new File(outputDir.getAbsolutePath + "/packages.html") val overviewFile = new File(outputDir.getAbsolutePath + "/overview.html") - val index = IOUtils.readStreamAsString( - getClass.getResourceAsStream("/scoverage/index.html") - ) - val css = IOUtils.readStreamAsString( - getClass.getResourceAsStream("/scoverage/pure-min.css") - ) + val index = { + val in = getClass.getResourceAsStream("/scoverage/index.html") + try IOUtils.readStreamAsString(in) + finally in.close() + } + val css = { + val in = getClass.getResourceAsStream("/scoverage/pure-min.css") + try IOUtils.readStreamAsString(in) + finally in.close() + } IOUtils.writeToFile(indexFile, index) IOUtils.writeToFile(cssFile, css) IOUtils.writeToFile(packageFile, packageList(coverage).toString())