2016-12-09 1 views
0

libreOffice(libreWriter)でファイルを保存する必要がありますが、何らかの理由でFile.separatorを使用しているときに動作していない、しません。なぜ誰かが知っていますか、または回避策があるかどうか?自分のコードをWindows/Mac互換にしたい。libreOfficeファイルをJavaで保存する

xStorable.storeToURL("file:///C:/Users/testDoc.doc", propertyValues); 
xStorable.storeToURL("file:///C:"+File.separator+"Users"+File.separator+"testDoc.doc", propertyValues); 

答えて

0

このコードはWindowsホストで実行されているものとします。私はと推測していますこのメソッドstoreToURL()は、2番目の例が作成するパスでは機能しません。

最初のURLは「file:/// C:/」になります。 2番目の例はWindowsマシン上で "file:/// C:\"に変わります。

つまり、第2の方法では、「正しい」Windowsファイルパス文字列が作成されます。それはおそらくではなく、このメソッドが実際に期待しているものです!

+0

あなたはそうです。この方法では、linux/macファイルの区切り文字だけを受け入れるというのはちょっと変です。ああ、少なくとも\と/をパスに置き換えるという回避策は簡単で、うまくいくようです。 – Istha

関連する問題