我有一个扩展 Source: 的输入供应商,InputSupplier<? extends Source> supplier
我想获取源的文件名(和路径)。
目前 Source 始终是 StreamSource,所以我不知道这是否或多或少具有挑战性。
我有一个扩展 Source: 的输入供应商,InputSupplier<? extends Source> supplier
我想获取源的文件名(和路径)。
目前 Source 始终是 StreamSource,所以我不知道这是否或多或少具有挑战性。
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 是如何创建的。