C#在名称中用“/”保存文件

时间:2017-02-16 13:57:09

标签: c# file filenames

FileName包含例如图例/ Dery //时报

File.WriteAllBytes("/Pictures" + FileName, buffer);

我无法保存文件,因为“/”被视为路径,我也无法删除“/”,因为我需要它进行进一步处理。有没有办法保存这样的文件?

3 个答案:

答案 0 :(得分:4)

你运气不好。正斜杠不能成为文件名的一部分。

你需要以某种方式转义(即改变名称但提供一种改变它的方式),但实际上并不是传统的做法。

我已经看到%用于此目的,%%用于表示单个%,类似%f用于正斜杠, %b反斜杠等等。

答案 1 :(得分:1)

rules for names and folders defined by Microsoft表示您不允许这样做。

答案 2 :(得分:0)

我建议您在保存文件和尝试访问文件时规范化输入,而不是转义:

//replace all illegal characters with regex (with a dash):
new Regex(@"[<>:""/\\|?*]").Replace("Inpu|t","-")

//Or just replace all non alpha numeric characters (with a dash): 
new Regex(@"[^a-zA-Z0-9\-]").Replace("Inpu|t","-")
这样你就可以获得干净的文件和文件夹名称,而不必担心非法名称。