/* Copyright 2013 University of North Carolina at Chapel Hill. All rights reserved. */
package abra;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.util.zip.Deflater;
import java.util.zip.GZIPOutputStream;
/**
* Utility class for outputting fastq files
*
* @author Lisle E. Mose (lmose at unc dot edu)
*/
public class FastqOutputFile {
private BufferedWriter writer;
public void init(String filename) throws IOException {
GZIPOutputStream zip = new GZIPOutputStream(new FileOutputStream(new File(filename))){{def.setLevel(Deflater.BEST_SPEED);}};
writer = new BufferedWriter(new OutputStreamWriter(zip, "UTF-8"));
}
public void write(FastqRecord record) throws IOException {
for (int i = 0; i<record.getLines().length; i++) {
writer.write(record.getLines()[i]);
writer.write('\n');
}
}
public void close() throws IOException {
writer.close();
}
}