0

我从Saxonica 网站下载了 Saxon 10 样本,以获取有关如何使用s9api的一些示例。

我发现所有示例都使用经典java.io.*来读取和写入 XSL 转换的文件。然后,我尝试使用更新的 Java NIO 和 NIO.2 包来查找任何 Saxon 示例用于 I/O**。

但令人惊讶的是,我一点运气都没有。我想知道为什么。

更具体地说,让我们关注两个例子:

java.nio.file.Files如果我使用类而不是经典java.io.File来告诉序列化程序在哪个文件中保存转换结果,它会产生真正的区别吗?

Path targetFile ...
transformer.newSerializer(Files.newOutputStream(targetFile));
transformer.newSerializer(Files.newBufferedWriter(targetFile));
transformer.newSerializer(targetFile.toFile()); // java.io.File

或者,在输入端,以下之一是否比其他更好?

Path targetFile ...    
transformer.transform(new StreamSource(Files.newInputStream(xml)), out);
transformer.transform(new StreamSource(Files.newBufferedReader(xml)), out);
transformer.transform(new StreamSource(xml.toFile()), out); // java.io.File

或者参数类型只是一个“文件引用”,Serializer并且StreamSource无论我如何告诉他们要使用什么文件,都会尽力而为。

4

0 回答 0