最近我遇到了與.Net中的文件/目錄庫中的MAX_PATH問題,所以我開始尋找替代品。從Windows API使用CreateFile拒絕訪問
我試圖從存儲在數據庫中的原始數據重建文件,並且迄今爲止沒有問題使用new FileStream("G:\Location\temp.txt", FileMode.Create)
等,但是我被要求更改重建文件的結構,從而碰到字符限制。
我試圖使用從Here的例子,像這樣:
SafeFileHandle fileHandle = CreateFile(strDirectory,
EFileAccess.GenericWrite, EFileShare.None, IntPtr.Zero,
ECreationDisposition.OpenAlways, 0, IntPtr.Zero);
int lastWin32Error = Marshal.GetLastWin32Error();
if (fileHandle.IsInvalid)
{
throw new System.ComponentModel.Win32Exception(lastWin32Error);
}
凡strDirectory = "G:\Really\Long\Folder\Structure\Temp.txt"
不過,我發現了一個「訪問被拒絕」的異常被拋出。我對目標文件夾有完整的讀/寫權限,所以我不確定問題可能是什麼。
任何幫助將不勝感激。
非逐字字符串文字中的反斜槓必須轉義:'「G:\\真正的\\長\\文件夾\\結構\\ Temp.txt」或「@」G:\ Really \ Long \文件夾\結構\ TEMP.TXT「'。 –
在我看來,對於操作系統的限制似乎是一個不好的解決方案......在這種情況下會使用這些書面文件嗎?我不認爲資源管理器甚至會看到它們...... – spender
G是網絡共享嗎? – spender