From 544c2d7feac32550315da593d437655b5af397b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20G=C3=B3mez-S=C3=A1nchez?= Date: Thu, 2 Mar 2017 19:01:37 +0100 Subject: [PATCH] Md5CalculatingOutputStream support for Path --- .../htsjdk/samtools/util/Md5CalculatingOutputStream.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/java/htsjdk/samtools/util/Md5CalculatingOutputStream.java b/src/main/java/htsjdk/samtools/util/Md5CalculatingOutputStream.java index 361c99032..f3b3f0779 100755 --- a/src/main/java/htsjdk/samtools/util/Md5CalculatingOutputStream.java +++ b/src/main/java/htsjdk/samtools/util/Md5CalculatingOutputStream.java @@ -31,6 +31,8 @@ import java.io.IOException; import java.io.OutputStream; import java.math.BigInteger; +import java.nio.file.Files; +import java.nio.file.Path; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; @@ -43,14 +45,14 @@ private final OutputStream os; private final MessageDigest md5; - private final File digestFile; + private final Path digestFile; private String hash; /** * Constructor that takes in the OutputStream that we are wrapping * and creates the MD5 MessageDigest */ - public Md5CalculatingOutputStream(OutputStream os, File digestFile) { + public Md5CalculatingOutputStream(OutputStream os, Path digestFile) { super(); this.hash = null; this.os = os; @@ -65,6 +67,10 @@ public Md5CalculatingOutputStream(OutputStream os, File digestFile) { } } + public Md5CalculatingOutputStream(OutputStream os, File digestFile) { + this(os, digestFile.toPath()); + } + @Override public void write(int b) throws IOException { md5.update((byte)b); @@ -111,7 +117,7 @@ public void close() throws IOException { makeHash(); if(digestFile != null) { - BufferedWriter writer = new BufferedWriter(new FileWriter(digestFile)); + BufferedWriter writer = Files.newBufferedWriter(digestFile); writer.write(hash); writer.close(); }