私のJavaコードを8ビットのために、Linuxの制限ファイル名を行う文字列が問題の文字が楕円チャーであるUNIXシステムの実際のパスJavaエラーは、文字セット
contains unmappable characters: /out/K/Kyuss/?And the Circus Leaves Town/09 - Size Queen.mp3
java.nio.file.InvalidPathException: Malformed input or input contains unmappable characters: /out/K/Kyuss/?And the Circus Leaves Town/09 - Size Queen.mp3
at sun.nio.fs.UnixPath.encode(UnixPath.java:147)
at sun.nio.fs.UnixPath.<init>(UnixPath.java:71)
at sun.nio.fs.UnixFileSystem.getPath(UnixFileSystem.java:281)
at java.io.File.toPath(File.java:2234)
at com.jthink.songkong.analyse.analyser.SongSaver.saveRenamedFile(SongSaver.java:891)
at com.jthink.songkong.analyse.analyser.SongSaver.realSave(SongSaver.java:809)
at com.jthink.songkong.analyse.analyser.SongSaver.saveSongToFile(SongSaver.java:630)
at com.jthink.songkong.analyse.analyser.SongSaver.saveChanges(SongSaver.java:190)
at com.jthink.songkong.analyse.analyser.SongSaver.call(SongSaver.java:165)
at com.jthink.songkong.analyse.analyser.SongSaver.call(SongSaver.java:59)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
に変換する際に問題を有しています'...'(エラーメッセージの出力には?と表示されます)は8ビット文字ではありませんが、なぜ私はUNIXシステムにこのような制限があるのか分からなかったのですか?
linuxはスペースがまったく好きではありません(それは許されませんが、linuxのいくつかのプログラムでは痛みがあり、100%すべてで動作しません)、スペースの代わりにアンダースコアを入れると、おそらく解決されるでしょう。それは '/'に問題があり、ディレクトリパスではなくファイル名で使用されていると考えられます。 – jgr208
@ jgr208ありがとうございますが、問題は楕円の文字であることが間違っています –
Linuxマシン用のファイルか、Windows用のファイルですか? – jgr208