如何使用 streamwriter 将文件写入桌面
how to write a file to desktop using streamwriter
我有一个块应该将覆盖的文件发送到我的桌面,但代码似乎不起作用,我使用的是 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);
}
}
删除“~”字符。
"\ColTexOutputFileTest.csv"
此字符“~”用于查找服务器端文件夹或文件
例如 如果您访问 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" change it "\ColTexOutputFileTest.csv"
如上面的答案所述,~ 是问题所在。 .Net 提供了 Path class,它有一个合并路径和文件名的方法,不需要知道是否需要分隔符:
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
我有一个块应该将覆盖的文件发送到我的桌面,但代码似乎不起作用,我使用的是 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);
}
}
删除“~”字符。
"\ColTexOutputFileTest.csv"
此字符“~”用于查找服务器端文件夹或文件
例如 如果您访问 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" change it "\ColTexOutputFileTest.csv"
如上面的答案所述,~ 是问题所在。 .Net 提供了 Path class,它有一个合并路径和文件名的方法,不需要知道是否需要分隔符:
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