package org.neo4j.shell.tools.imp.util;
import java.io.FilterWriter;
import java.io.IOException;
import java.io.Writer;
/**
* @author mh
* @since 17.01.14
*/
public class CountingWriter extends FilterWriter implements SizeCounter {
private long count=0;
private long newLines=0;
protected CountingWriter(Writer out) {
super(out);
}
@Override
public void write(int c) throws IOException {
super.write(c);
count++;
if (c == '\n') newLines++;
}
@Override
public void write(char[] cbuf, int off, int len) throws IOException {
super.write(cbuf, off, len);
count+=len;
for (int i=off;i<off+len;i++) {
if (cbuf[i] == '\n') newLines++;
}
}
public long getCount() {
return count;
}
@Override
public long getTotal() {
return 0;
}
@Override
public long getPercent() {
return 0;
}
public long getNewLines() {
return newLines;
}
}