dポイントプレゼントキャンペーン実施中!

以下のように実行したところエラーとなるのですが
何が原因でしょうか?

C:\Documents and Settings\Administrator\デスクトップ\test>java Transform Sample.
xml Sample1.xsl result.xml
Exception in thread "main" javax.xml.transform.TransformerException: java.io.Fil
eNotFoundException: file:\C:\Documents%20and%20Settings\Administrator\デスクトッ
プ\test\result.xml (ファイル名、ディレクトリ名、またはボリューム ラベルの構文が
間違っています。)
at org.apache.xalan.transformer.TransformerImpl.createResultContentHandl
er(TransformerImpl.java:1146)
at org.apache.xalan.transformer.TransformerImpl.createResultContentHandl
er(TransformerImpl.java:1055)
at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImp
l.java:1170)
at Transform.main(Transform.java:16)
Caused by: java.io.FileNotFoundException: file:\C:\Documents%20and%20Settings\Ad
ministrator\デスクトップ\test\result.xml (ファイル名、ディレクトリ名、またはボリ
ューム ラベルの構文が間違っています。)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(Unknown Source)
at java.io.FileOutputStream.<init>(Unknown Source)
at org.apache.xalan.transformer.TransformerImpl.createResultContentHandl
er(TransformerImpl.java:1131)
... 3 more
---------
java.io.FileNotFoundException: file:\C:\Documents%20and%20Settings\Administrator
\デスクトップ\test\result.xml (ファイル名、ディレクトリ名、またはボリューム ラベ
ルの構文が間違っています。)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(Unknown Source)
at java.io.FileOutputStream.<init>(Unknown Source)
at org.apache.xalan.transformer.TransformerImpl.createResultContentHandl
er(TransformerImpl.java:1131)
at org.apache.xalan.transformer.TransformerImpl.createResultContentHandl
er(TransformerImpl.java:1055)
at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImp
l.java:1170)
at Transform.main(Transform.java:16)

***以下ソースです***

Sample.xml**********************
<?xml version="1.0" encoding="Shift_JIS" ?>
<cars>
<car>
<name>乗用車 </name>
<price>100 </price>
</car>
</cars>
Sample1.xsl**********************
<?xml version="1.0" encoding="Shift_JIS" ?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="Shift_JIS"/>
<!-- 文書 -->
<xsl:template match="/">
<root>
</root>
</xsl:template>
</xsl:stylesheet>

Transform.java**********************
import java.io.*;
import javax.xml.transform.*;
import javax.xml.transform.stream.*;

public class Transform
{
public static void main( String args[] ) throws Exception
{
StreamSource in = new StreamSource(new File(args[0]));
StreamSource ss = new StreamSource(new File(args[1]));
StreamResult out = new StreamResult(new File(args[2]));

TransformerFactory tff =
TransformerFactory.newInstance();
Transformer tf = tff.newTransformer(ss);
tf.transform(in, out);
System.out.println(args[2]+"出力");
}
}

A 回答 (2件)

http://bugs.sun.com/view_bug.do?bug_id=5077403

未検証だけどこれっぽい臭いがします。

#1.5.0_09-b01とjdk: 1.5.0 b58
#のどっちが先かわからん。
#見るとしたらxalanの方であって,JDKのバージョン見ても意味なし?ひょっとして。
#見方教えてくれるとうれしいなっと(おぃ

この回答への補足

さらに考えたところ、
原因はクラスパスでした。
java -classpath . Transform Sample.xml Sample1.xsl a.xml
でいった

補足日時:2008/02/27 21:19
    • good
    • 0
この回答へのお礼

ずばりでした。同じソースを別マシンに入れていた環境
jdk-1_5_0_14
で動かしたら動きました。
Many Thanks

お礼日時:2008/02/26 22:24

全くの想像ですが、



・ jdkのバージョンかjavax.xml.transform.*.*のバージョンあたりが関係しているのではないでしょうか。

・ 後ひとつ、環境変数Pathに設定されている順番が、適当なjdkまたはjreを優先していないとか。
    • good
    • 0
この回答へのお礼

回答有難うございます。
jdkのバージョンは以下のとおりです。問題ないかと思うのですが・・・
どこか変ですか?

C:\Documents and Settings\Administrator>java -version
java version "1.5.0_09"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_09-b01)
Java HotSpot(TM) Client VM (build 1.5.0_09-b01, mixed mode, sharing)

C:\Documents and Settings\Administrator>javac -version
javac 1.5.0_09

お礼日時:2008/02/25 22:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!