创建转换文件夹 - 拒绝访问

时间:2013-07-01 09:37:42

标签: java saxon

我正在使用saxon 9 ee作为库在jar中链接几个xslt转换。 在我的char中,我不想创建我喜欢的输出目录:

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

然后我告诉Saxon使用该文件夹作为输出:

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

transtemp和trans one都是XsltTransformer对象。

当我运行我的主要方法时,我得到了这个:

  

线程“main”中的异常net.sf.saxon.s9api.SaxonApiException:   java.io.FileNotFoundException:   C:\ Users \ blabla \ workspace \ Tests \ _ input_ll_1718557701(拒绝访问)

有什么想法吗?

更新

如果我尝试自己创建一个文件:

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

它有效,所以看起来这是撒克逊的问题?

更新2:

是的,经典的我是愚蠢的。我必须将路径传递给文件而不仅仅是目录。

2 个答案:

答案 0 :(得分:0)

您应该使用:

inputfolder.setWritable(true) 

答案 1 :(得分:0)

我想你已回答了自己的问题。传递给getSerializer()的File不能是目录。