2012-11-28 59 views
0

我有一個擴展的輸入提供者來源:InputSupplier<? extends Source> supplier我想獲取源的文件名(和路徑)。javax.xml.transform.Source對象的文件名/路徑

目前Source始終是一個StreamSource,所以我不知道這是否使它更具挑戰性。

+0

請顯示更多代碼 – home

+0

@home我可以顯示哪些其他代碼? –

+1

源代碼不一定是指文件或路徑......它可能只是來自遠程位置的流。所以這一切都取決於你的代碼(你創建源代碼的方式)。 – home

回答

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的是如何創建的。