文件未找到例外

时间:2017-10-04 08:09:57

标签: apache-nifi

我想获取其中xml组件的flowfile并更新其中一个tagvalue我在自定义nifi处理器代码中创建它,我有这样的代码:

  flowFile = session.putAttribute(flowFile,"filename",file.getName() + ".xml");
                InputSource inputSource = new InputSource((InputStream) flowFile);
                DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
                DocumentBuilder builder = builderFactory.newDocumentBuilder();
                Document xmlDocument = builder.parse(inputSource);
                XPath xPath = XPathFactory.newInstance().newXPath();
                NodeList myNodeList = (NodeList) xPath.compile("//runAs/text()")
                        .evaluate(flowFile, XPathConstants.NODESET);
                myNodeList.item(0).setNodeValue("false");

但是它提示文件未找到异常异常,我应该更改什么才能使此代码工作p.s我不能使用路径为flowfile

1 个答案:

答案 0 :(得分:3)

nifi流文件不是InputStream。

因此代码migrate错误

如果要将流文件的内容作为输入流获取,可以使用 Boolean exist = false; for(File file : listaFile){ if(file.getName().startsWith(valueDeep)){ path+="/"+file.getName(); attachFileAnagView.setLvl3(file.getName()); exist = true; } } if(!exist){ new File(path+"/"+valueDeep).mkdir(); path+="/"+valueDeep; attachFileAnagView.setLvl3(valueDeep); } 方法,如下所示:

(InputStream) flowFile