我有一个块,它应该将覆盖的文件发送到我的桌面,但代码似乎不起作用,我使用的是MVC应用程序,而不是控制台应用程序。
任何人都可以告诉我我做错了什么或建议如何实现我的解决方案。
using (var File = new StreamWriter(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "~/ColTexOutputFileTest.csv", false)) // true for appending the file and false to overwrite the file
{
foreach (var item in outputFile)
{
File.WriteLine(item);
}
}
答案 0 :(得分:4)
删除'〜'字符。
"\ColTexOutputFileTest.csv"
答案 1 :(得分:1)
此字符'〜'用于查找服务器端文件夹或文件
例如如果您访问abc.xml文件中的App_Data文件夹
HttpContext.Current.Server.MapPath("~/App_Data/abc.xml");
如果您将文件本地访问文件作为Windows路径
进行流式传输using (var File = new StreamWriter(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\ColTexOutputFileTest.csv", false)) // true for appending the file and false to overwrite the file
{
foreach (var item in outputFile)
{
File.WriteLine(item);
}
}
“〜/ ColTexOutputFileTest.csv”更改“\ ColTexOutputFileTest.csv”
答案 2 :(得分:1)
如上面的答案中所述,〜是问题所在。 .Net提供了Path类,它具有用于连接路径和组合的组合方法。文件名和不需要知道是否需要分隔符:
using (var File = new StreamWriter(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "ColTexOutputFileTest.csv"), false))
请参阅:https://msdn.microsoft.com/en-us/library/system.io.path(v=vs.110).aspx