0

我有一个扩展 Source: 的输入供应商,InputSupplier<? extends Source> supplier我想获取源的文件名(和路径)。

目前 Source 始终是 StreamSource,所以我不知道这是否或多或少具有挑战性。

4

1 回答 1

1

StreamSource.getSystemId 返回使用 setSystemId 设置的系统标识符,如果未调用 setSystemId,则返回 null。例子:

System.out.println(new StreamSource(new File("1.xml")).getSystemId());
System.out.println(new StreamSource(new FileReader("1.xml")).getSystemId());
System.out.println(new StreamSource(new FileReader("1.xml"), "d://workspace/x/1.xml").getSystemId());

印刷

file:/D:/workspace1/x/1.xml
null
d://workspace/x/1.xml

所以这取决于 StreamSource 是如何创建的。

于 2012-11-28T19:30:54.717 回答