创建FIle Java时转义前斜杠



我正在创建一些文件,并且正在从数据库中提取文件名。

有一个文件名叫做

CUA/ICOR数字藏品。

但是,由于正斜杠,"CUA"被当作目录处理。

我在Java Regex 中找到了正斜杠

我试过:

String fileName = "CUA/ICOR Digital Collection";
fileName = fileName.replaceAll("/", "\\/");  // OP: CUA/ICOR Digital Collection But No success
fileName = fileName.replaceAll("/", Matcher.quoteReplacement("\/"));  // OP: CUA/ICOR Digital Collection But No success
fileName = fileName.replaceAll("/", Matcher.quoteReplacement("\\/"));  // OP: CUA\/ICOR Digital Collection But No success
File file = new File(exportPath, fileName + ".xls");

我得到

File Not Found Exception At 'C:exportCUAICOR Digital Collection.xls'

所以,现在我怀疑这可能吗?

在Windows上,文件不能包含/:*?"<>|

您最好将/字符转换为类似下划线(_) 的字符

如果您在Windows。。。。我不认为你的文件名可以有 这样的变量

您可以尝试将其转换为spaceunderscore。。。。

所以它会是这样的。。。

CUA_ICOR Digital Collection

CUA ICOR Digital Collection.

最新更新