解析 kettle 日志文件
将 文本文件转成字符串
private String readInput(File file) {
StringBuffer buffer = new StringBuffer();
try {
FileInputStream fis = new FileInputStream(file);
InputStreamReader isr = new InputStreamReader(fis, "GBK");
Reader in = new BufferedReader(isr);
int i;
while ((i= in.read()) > -1) {
buffer.append((char) i);
}
in.close();
return buffer.toString();
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
将字符串写入文件中
private void writeOutput(String str, File file) {
try {
FileOutputStream fos = new FileOutputStream(file);
Writer out = new OutputStreamWriter(fos, "GBK");
out.write(str);
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
存储解析的 kettle 信息的 日志类:
public class KettleLogParse {
// 表示第几张表
private int tableNumber;
// 表示表名
private String tableName;
// 表示抽取是否成功
private boolean isSuccess;
// 表示警告的数量
private int warnNumber;
// 表示抽取的数量
private int dataNumber;
// 日志添加在第几行
private int lineNumber;
public int getTableNumber() {
return tableNumber;
}
public void setTableNumber(int tableNumber) {
this.tableNumber = tableNumber;
}
public boolean isSuccess() {
return isSuccess;
}
public void setSuccess(boolean isSuccess) {
this.isSuccess = isSuccess;
}
public int getWarnNumber() {
return warnNumber;
}
public void setWarnNumber(int warnNumber) {
this.warnNumber = warnNumber;
}
public int getDataNumber() {
return dataNumber;
}
public void setDataNumber(int dataNumber) {
this.dataNumb