日曜プログラミング

休日趣味でやってるプログラミング関連記事をダラダラと

日本語のパス下で実行するとエラーが出る場合の対処方法

Mac OS X やの Linux のパスの扱いがどうなってるかは分からんけど、Clojure でファイルを吐き出すちょっとした小物ツールを作った時日本語含まれるパスで実行すると以下のようなエラーが出る。

Error: Unable to access jarfile hoge.jar

これを回避するには reader や writer の引数で文字列でなく
clojure.java.io/as-file かまして渡してやる。

(require '[clojure.java.io :as io])
(io/writer (io/as-file file-name) :encoding "SJIS")

そういや Java に限らず Windows での日本語を含むパスを扱うのは何かとめんどくさいの忘れてた。

ただこれであらゆる場面で対処できるかは不明。勘で入れてみたらたまたま上手く動いただけなので。