在我的应用程序文件夹结构中有很长时间。 我需要保存在此文件夹中的文件(我无法更改架构文件夹!)
[已编辑]
using (var fileStream = File.Create(@"\\?\" + filePath, (int) file.Value.Length))
{
var bytesInStream = new byte[file.Value.Length];
file.Value.Read(bytesInStream, 0, bytesInStream.Length);
fileStream.Write(bytesInStream, 0, bytesInStream.Length);
}
问题是完整路径“filePath”有超过260个字符!
System.IO.PathTooLongException指定的路径,文件名或两者 太长了完全限定的文件名必须小于260 字符和目录名称必须少于248个字符。
但他必须保存在这个文件夹中!
如何在不更改文件夹结构或文件名的情况下,将此文件保存在此文件夹中?
答案 0 :(得分:2)
关于使用长路径和头痛的好文章。在沿着这条路走下去之前,确保你确实需要它们。相对路径不起作用“... \ a.txt”
http://blogs.msdn.com/b/bclteam/archive/2007/02/13/long-paths-in-net-part-1-of-3-kim-hamilton.aspx
其他替代方法是使用Win32 API直接拨打电话。