我有一个输入供应商,它扩展了来源:InputSupplier<? extends Source> supplier
我想获取源的文件名(和路径)。
目前,源始终是 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 是如何创建的。
关于java - javax.xml.transform.Source 对象的文件名/路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13612611/