如何接受输入并在java中显示mxml文件
问题描述:
我写了这个简单的代码,但我不明白为什么它不断返回我的错误, 你能帮我吗?如何接受输入并在java中显示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)
答
因为流已经由先前的方法调用所消耗的第二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建设作为流应关闭,以避免泄漏。
有什么错误? – Reimeus
哪个'parse'是你得到这个错误的地方?第二个,对吧? – Azeem