在创建FIle Java时逃避前进斜线

时间:2012-09-13 18:07:13

标签: java file escaping

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

有一个名为

的文件名
  

CUA / ICOR数字馆藏。

但是,由于正斜线," CUA"被视为目录。

我找到了Forward slash in 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:\export\CUA\ICOR Digital Collection.xls'

所以,现在我怀疑是否可能?

2 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:0)

如果您在Windows ....我认为您的文件名可以包含\

等变量

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

所以就像这样......

CUA_ICOR Digital Collection

CUA ICOR Digital Collection.