我正在尝试使用 Talend Open Studio 6.1.1 构建一个导入工具,它将导入已压缩到 ZIP 文件中的各种制表符分隔的 .txt 文件。
为了实现此目的,我使用 tFileUnarchive 组件。该组件的存档文件设置为“context.RECORD1”,其中RECORD1 是ZIP 的文件路径。
因此,提取目录设置为“context.RECORD1.substring(0,context.RECORD1.lastIndexOf("/"))”。
然后,使用“Trigger”>“Run If”将该组件连接到各种tFileInputDelimited组件。例如,Run If 中的条件为:
globalMap.get("tFileExist_1_FILENAME").toString().contains("VAM")
提取名称中包含“VAM”的制表符分隔文件(在 ZIP 内)之一。但是,作业失败并显示以下错误输出:
Exception in component tFileUnarchive_2
java.lang.NullPointerException
at map_2016.map2016_0_1.map2016.tFileUnarchive_2Process(map2016.java:2027)
at map_2016.map2016_0_1.map2016.tPostgresqlConnection_1Process(map2016.java:1764)
at map_2016.map2016_0_1.map2016.runJobInTOS(map2016.java:48371)
at map_2016.map2016_0_1.map2016.main(map2016.java:48186)
需要注意的一件事:我没有使用原始 ZIP 中包含的全部制表符分隔的 .txt 文件,因为其中一些与我的目的无关。
任何帮助将不胜感激!
最佳答案
globalMap.get("tFileExist_1_FILENAME").toString().contains("VAM")
globalMap 或 globalMap.get(...)
的结果 或 .toString()
返回的结果为 null。
关于java - Talend > tFileUnarchive 上的 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41307051/