HADOOP-10075. addendum to fix compilation on Windows

This commit is contained in:
Robert Kanter 2016-10-28 17:35:28 -07:00
parent 76a1042980
commit ebb88231f8

View File

@ -24,10 +24,12 @@
import java.io.BufferedReader; import java.io.BufferedReader;
import java.io.File; import java.io.File;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.file.Files; import java.nio.file.Files;
import java.nio.file.Path; import java.nio.file.Path;
import java.util.List; import java.util.List;
import java.util.function.Consumer; import java.util.function.Consumer;
import java.util.regex.Matcher;
import java.util.zip.GZIPOutputStream; import java.util.zip.GZIPOutputStream;
/** /**
@ -101,17 +103,21 @@ public void accept(Path path) {
} }
try { try {
File outFile = new File(outputDir, path.toFile().getCanonicalPath() File outFile = new File(outputDir, path.toFile().getCanonicalPath()
.replaceFirst(inputDir.getCanonicalPath(), "") + ".gz"); .replaceFirst(Matcher.quoteReplacement(
outFile.getParentFile().mkdirs(); inputDir.getCanonicalPath()), "") + ".gz");
try ( if (outFile.getParentFile().isDirectory() ||
GZIPOutputStream os = new GZIPOutputStream( outFile.getParentFile().mkdirs()) {
new FileOutputStream(outFile)); try (
BufferedReader is = Files.newBufferedReader(path) GZIPOutputStream os = new GZIPOutputStream(
) { new FileOutputStream(outFile));
getLog().info("Compressing " + path + " to " + outFile); BufferedReader is = Files.newBufferedReader(path)
IOUtils.copy(is, os); ) {
} catch (Throwable t) { getLog().info("Compressing " + path + " to " + outFile);
this.throwable = t; IOUtils.copy(is, os);
}
} else {
throw new IOException("Directory " + outFile.getParent()
+ " does not exist or was unable to be created");
} }
} catch (Throwable t) { } catch (Throwable t) {
this.throwable = t; this.throwable = t;