Android 用 ASCII 十六进制值替换文件名中的某些字符

Android replaces certain characters in the filename with ASCII hex value

我正在我的应用程序中创建文件名中包含“{”和“}”的文件(例如 {foo}.xml)。然而,特殊字符被替换为 ASCII 十六进制值(即 {foo}.xml 被创建为 %7Bfoo%7D.xml)。关于如何解决这个问题并让它实际创建 '{foo}.xml' 的任何想法?

在我的例子中,

new File("/sdcard/{file name}.xml").createNewFile() 在 SD 卡上成功创建了一个名为“{file name}.xml”的文件。

new File(context.getFilesDir() + "/{file name}.xml").createNewFile()成功在私有应用程序文件区域创建此类文件。

我使用 ADB shell 和文件浏览器检查了一切正常。