HTTP 経由でローカル ファイルをエクスポートするプロジェクトに取り組んでいます。これには、ファイル URI の取得、エクスポートされたパスを使用した相対化、エクスポート URI への追加、受信側での URL としての処理が含まれます。
通常はこれで問題なく動作しますが、ファイル名にセミコロンが含まれていると問題が発生します。ここまで絞りました。
new File(path).toURI()
上記の方法は、スペースなどを正しくエンコードしますが、セミコロン (%3B にエンコードする必要があります) はエンコードしません。
最終的に、上記のメソッドは URI コンストラクタ (プロトコル、ホスト、パス、フラグメント) の結果を返しますが、これは不正な URI を返します。
すべてのセミコロンを手動で %3B に置き換えることもできますが、それは最善の解決策とは思えません。パスを正しくエンコードするための組み込み API は本当にないのでしょうか?
ご協力いただきありがとうございます。