如何在具有长名称的文件夹中创建文件.(避免 PathTooLongException)



可能的重复项:
如何避免System.IO.PathTooLongException?

在我的应用程序文件夹结构中已经很长时间了。我需要保存在此文件夹中的文件(我没有更改架构文件夹的选项!

[已编辑]

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 个字符。

但是他必须保存在这个文件夹中!

如何在不更改文件夹结构或文件名的情况下将此文件保存在此文件夹中?

关于使用长路径和所涉及的头痛的好文章。 在沿着这条路走之前,请确保您确实需要它们。 相对路径不起作用"...\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 直接进行调用。

最新更新