我正在使用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:
是的,经典的我是愚蠢的。我必须将路径传递给文件而不仅仅是目录。
答案 0 :(得分:0)
您应该使用:
inputfolder.setWritable(true)
答案 1 :(得分:0)
我想你已回答了自己的问题。传递给getSerializer()的File不能是目录。