如何在java中输入并显示mxml文件

时间:2017-06-17 15:53:35

标签: java input mxml

我写了这个简单的代码,但我无法理解为什么它一直让我回复错误, 你能救我吗?

{
/*XesXmlParser parser = new XesXmlParser();*/
XMxmlParser parser = new XMxmlParser();
InputStream is = null;

try {
    is = new FileInputStream("C:\\Users\\examplefolder\\prova1.mxml");
    parser.parse(is);
} catch (FileNotFoundException e) {
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
}
java.util.List<XLog> list = parser.parse(is);
System.out.println(list);


}

它给了我这个错误:

{Exception in thread "main" java.io.IOException: Stream Closed
...
at org.deckfour.xes.in.XMxmlParser.parse(XMxmlParser.java:196)
at provaletturalog.LeggiLog.main(LeggiLog.java:26)

1 个答案:

答案 0 :(得分:0)

第二个parser.parse(is)调用导致错误,因为前一个方法调用已经使用了流。

所以你需要这样的东西:

XMxmlParser parser = new XMxmlParser();
List<XLog> list = Collections.emptyList();
try (InputStream is = new FileInputStream("C:\\Users\\examplefolder\\prova1.mxml")) {
    list = parser.parse(is);
} catch (FileNotFoundException e) {
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
}

System.out.println(list);

我使用了try with resources构造,因为应该关闭流以避免泄漏。