如何接受输入并在 java 中显示 mxml 文件
How to take in input and show an mxml file in java
我写了这个简单的代码,但我不明白为什么它总是返回错误,
你能帮帮我吗?
{
/*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 构造,因为应该关闭流以避免泄漏。
我写了这个简单的代码,但我不明白为什么它总是返回错误, 你能帮帮我吗?
{
/*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 构造,因为应该关闭流以避免泄漏。