詹金斯五星级酒店关闭

时间:2019-12-02 16:34:24

标签: java file jdom-2

通过编译项目并运行测试,此错误使我无法加载配置文件

java.io.IOException: Stream closed
at java.io.BufferedInputStream.getInIfOpen(BufferedInputStream.java:159) ~[?:1.8.0_231]
at java.io.BufferedInputStream.read1(BufferedInputStream.java:284) ~[?:1.8.0_231]
at java.io.BufferedInputStream.read(BufferedInputStream.java:345) ~[?:1.8.0_231]
at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284) ~[?:1.8.0_231]
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326) ~[?:1.8.0_231]
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178) ~[?:1.8.0_231]
at java.io.InputStreamReader.read(InputStreamReader.java:184) ~[?:1.8.0_231]
at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(XMLEntityScanner.java:1895) ~[?:1.8.0_231]
at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.arrangeCapacity(XMLEntityScanner.java:1761) ~[?:1.8.0_231]
at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.skipString(XMLEntityScanner.java:1799) ~[?:1.8.0_231]
at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:156) ~[?:1.8.0_231]
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:806) ~[?:1.8.0_231]
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:771) ~[?:1.8.0_231]
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) ~[?:1.8.0_231]
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213) ~[?:1.8.0_231]
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643) ~[?:1.8.0_231]
at org.jdom2.input.sax.SAXBuilderEngine.build(SAXBuilderEngine.java:217) ~[jdom-2.0.2.jar:?]
at org.jdom2.input.sax.SAXBuilderEngine.build(SAXBuilderEngine.java:303) ~[jdom-2.0.2.jar:?]
at org.jdom2.input.SAXBuilder.build(SAXBuilder.java:1196) ~[jdom-2.0.2.jar:2.0.2]

文件读取代码如下:

public Map<String, OperationDTO> getOperations(String operationXml)
  throws JDOMException, IOException, Exception {
   log.trace("Log into method getOperations");

   if(operationXml != null && !operationXml.isEmpty()){
       OPERATION_XML = "Operations" + operationXml + ".xml";
   }

   log.trace("OPERATION_XML: "+OPERATION_XML);

  Map<String, OperationDTO> operationProp = new ConcurrentHashMap<String, OperationDTO>();
  log.trace( "Init get Operations .." );
  SAXBuilder builder = new SAXBuilder();
  InputStreamReader xmlFile =
     new InputStreamReader( new BufferedInputStream( LoadConfig.class.getClassLoader().getResourceAsStream( OPERATION_XML ) ),
                            "UTF-8" );
  log.info("La lectura del archivo OPERATIONS es correcta: "+xmlFile.ready());

  Document document = builder.build( xmlFile );
  Element rootNode = document.getRootElement();
  List list = rootNode.getChildren( "operation" );
  for ( int i = 0; i < list.size(); i++ ) {
     OperationDTO operation = new OperationDTO();
     Element transaction = ( Element ) list.get( i );
     String idOperationType = transaction.getAttributeValue( "idOperationType" );

     operationProp.put( idOperationType, operation );
  }

  return operationProp;

}

我需要确定此错误的原因,该错误之前未显示,并且我不知道为什么它未能声明 InputStreamReader xmlFile

0 个答案:

没有答案