ファイル名として使用するために、Javaで文字列を安全にエンコードするにはどうすればよいですか?
外部プロセスから文字列を受け取っています。その文字列を使用してファイル名を作成し、そのファイルに書き込みます。これを行うための私のコードスニペットは次のとおりです。 String s = ... // comes from external source File currentFile = new File(System.getProperty("user.home"), s); PrintWriter currentWriter = new PrintWriter(currentFile); sにUnixベースのOSの「/」などの無効な文字が含まれている場合、java.io.FileNotFoundExceptionが(正しく)スローされます。 ファイル名として使用できるように文字列を安全にエンコードするにはどうすればよいですか? 編集:私が期待しているのは、これを行うAPI呼び出しです。 私がすることができます: String s = ... // comes from external source File currentFile = new File(System.getProperty("user.home"), URLEncoder.encode(s, "UTF-8")); PrintWriter currentWriter = new PrintWriter(currentFile); しかし、URLEncoderがこの目的のために信頼できるかどうかはわかりません。