最近在做爬虫项目,自动创建Windwos文件,有的时候创建不成功。
看下面的命名就是不成功的
String string = "今<>|:\\\\///\"天\"_3:4/4\\_20*1?7content/2017-06/28/content_16240289.htm";
File file = new File("D:\\"+string);
if (!file.exists()) {
boolean mkdirs = file.mkdirs();
System.out.println(mkdirs);
}
这个打印出来的结果是false,然后去手动创建文件,提示
很显然,这需要正则表达式过滤一下文件名字,直接上代码
String string = "今<>|:\\\\///\"天\"_3:4/4\\_20*1?7content/2017-06/28/content_16240289.htm";
System.out.println(string);
System.out.println(string.replaceAll("(\"|<|>|(\\|)|/|\\\\|\\*|\\?|:)", ""));
输出结果
今<>|:\\///"天"_3:4/4\_20*1?7content/2017-06/28/content_16240289.htm
今天_344_2017content2017-0628content_16240289.htm
然后在用这个名字去创建Windwos文件就ok了