package test.helpers;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.util.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream;
public class Sed {
private static void processObrFileInternal(BufferedReader reader, String searchPattern, String replacementPattern,
OutputStream out) throws Exception {
try {
String line;
while ((line = reader.readLine()) != null) {
String newline = line.replaceAll(searchPattern, replacementPattern);
out.write(newline.getBytes());
out.write("\n".getBytes());
}
} finally {
reader.close();
out.close();
}
}
public static void file2File(String filenameIn, String searchPattern, String replacementPattern, String filenameOut)
throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(filenameIn)));
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(filenameOut));
processObrFileInternal(reader, searchPattern, replacementPattern, out);
}
public static void file2GzFile(String filenameIn, String searchPattern, String replacementPattern,
String filenameOut) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(filenameIn)));
BufferedOutputStream out = new BufferedOutputStream(new GZIPOutputStream(new FileOutputStream(filenameOut)));
processObrFileInternal(reader, searchPattern, replacementPattern, out);
}
public static void gzFile2GzFile(String filenameIn, String searchPattern, String replacementPattern,
String filenameOut) throws Exception {
BufferedReader reader = new BufferedReader(
new InputStreamReader(new GZIPInputStream(new FileInputStream(filenameIn))));
BufferedOutputStream out = new BufferedOutputStream(new GZIPOutputStream(new FileOutputStream(filenameOut)));
processObrFileInternal(reader, searchPattern, replacementPattern, out);
}
}