替换字符串中的斜杠以获取文件路径

时间:2014-05-06 19:34:45

标签: c#

我从SQL表中获取数据并使用它将html页面加载到本地硬盘。来自服务器的一些数据包含“\”,因此不是进入临时文件夹,而是文件的名称看起来像是在不同的文件夹中。我收到以下错误。

  

无法找到路径'C:\ temp \ Customer \ Referral-HP.html'的一部分。

如何从名称中删除正斜杠和\或用下划线替换它。

var page = "Customer\Referral-HP";
var location = page; 
if (location.Contains("\\"))
{
    location = location.Replace("\\", "_"); 
}
var path = @"C:\temp\" + location + ".html"; 

我得到了C:\temp\Customer\Referral-HP.html,但我试图让它成为C:\temp\Customer_Referral-HP.html

我正在使用从数据库中获取的数据来创建文件路径,但是,如何处理文件路径的无效字符?

1 个答案:

答案 0 :(得分:2)

您的代码似乎运行正常。但是,与\不同的字符与文件名不兼容。以下是清理此数据的更完整示例:

string location = page;
foreach (var c in Path.GetInvalidFileNameChars())
{
    location = location.Replace(c, '_');
}
Console.WriteLine(location);
Path.Combine("c:\\temp", location + ".html");