2013-07-01 45 views
0

我在使用saxon 9 ee作爲庫的jar中鏈接了幾個xslt轉換。 在我的字符我wan't創建輸出中的目錄,我這樣做:創建用於轉換的文件夾 - 訪問被拒絕

int timestamp = (int) System.currentTimeMillis(); 
File inputfolder = new File("input_ll_" + Math.abs(timestamp)); 
inputfolder.mkdir(); 

然後我告訴撒克遜人使用該文件夾作爲輸出:

//output last transformation to file 
transtemp.setDestination(getSerializer(inputfolder.toString())); 
//start transformation 
trans1.transform(); 

transtemp和跨一個都XsltTransformer對象。

當我跑我的主要方法,我得到這個:

異常線程 「main」 net.sf.saxon.s9api.SaxonApiException: java.io.FileNotFoundException: C:\用戶\布拉布拉\工作區\ Tests \ input_ll_1718557701(拒絕訪問)

任何想法?

更新:

如果我試圖創建一個文件有自己:

File check = new File(inputfolder.toString() + "/check.txt"); 
check.createNewFile(); 

它的工作原理,這樣看來它與撒克遜人的問題嗎?

更新2:

是啊,我的經典愚蠢。我不得不將路徑傳遞給文件,而不僅僅傳遞給目錄。

回答

0

我想你已經回答了你自己的問題。傳遞給getSerializer()的文件不能是目錄。

0

你應該使用:

inputfolder.setWritable(true) 
+0

sry,沒有那個運氣。仍然得到相同的錯誤消息,而isWritable()實際上返回true。 – pypat

+0

異常是在這一行'transtemp.setDestination(getSerializer(inputfolder.toString()));'? – Mac

+0

沒有它的引發當我開始轉型,所以這裏'trans1.transform();' – pypat