kettle 的实用小功能 中介绍了如何批量读取二进制文件的内容,这里说一下批量读取文本文件的方法。
第一步也是使用 Get File Names 步骤,根据正则表达式来获取一个路径下所有指定的文件名。
第二步骤使用 modified javascript 脚本步骤,来读取这些指定的文本文件,脚本如下。[@more@]
//code begin
file = new Packages.java.io.File(filename.getString());
fileInputStream = new Packages.java.io.FileInputStream(file);
reader = new Packages.java.io.InputStreamReader(fileInputStream);
var cbuf = Packages.com.xgn.ketl.trans.step.infoextractor.InfoExtractor.createCharArray(1024);
var content= new String("");
length = reader.read(cbuf,0,1024);
while (length >0)
{
content += new Packages.java.lang.String(cbuf)
length = reader.read(cbuf,0,1024);
}
code end
脚本比较简单就是读取文本文件内容,把文件内容放在content 字段里。其中大家有有点费解的可能是下面这句:
var cbuf = Package