gpt4 book ai didi

c# - C# 代码中的 PathTooLongException

转载 作者:行者123 更新时间:2023-12-03 06:59:20 25 4
gpt4 key购买 nike

我有以下代码:

 public static void Serialize()
{

List<string> dirs = FileHelper.GetFilesRecursive(fileDirectoryPath);
List<string> dirFiles = new List<string>();
foreach (string p in dirs)
{
string path = p;

string lastAccessTime = File.GetLastAccessTime(path).ToString();


bool DirFile = File.Exists(path);
FileInfo fInf = new FileInfo(path);
long lengthInk = fInf.Length / 1024;

DateTime lastWriteTime = File.GetLastWriteTime(p);
dirFiles.Add(p + "|" + lastAccessTime.ToString() + "|" + DirFile.ToString() + "|" + lastWriteTime.ToString() + "|" + lengthInk.ToString() + " kb");


}

我不断遇到 PathTooLongException 错误,其中包含以下行:

string lastAccessTime = File.GetLastAccessTime(path).ToString();

应用程序深入驱动器并查找驱动器中的所有文件/文件夹。我无法更改此路径,但由于它超过 260 个字符...如何解决此问题?

最佳答案

GetLastAccessTime() 调用,带有完整路径可以exceed the internal limit (具体取决于操作系统版本,但通常为 260 个字符)完全限定文件路径的最大长度。

避免这种情况的一种方法是使用 Directory.SetCurrentDirectory()更改当前系统目录,然后仅使用相对路径调用 GetLastAccessTime()。只需确保将当前目录更改回起始目录,以避免出现意外问题。

关于c# - C# 代码中的 PathTooLongException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1087565/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com