這是方法的主體:進程無法訪問該文件,因爲它正在被另一個進程使用。 File.Create方法
// Get files from directory base on search pattern
string[] files = Directory.GetFiles(path, searchPattern, searchOption);
List<string> contents = ReadMetadataFile(path, out metaDataFilePath);
if (contents == null || contents.Count == 0)
listFiles = ProcessIfMetadataIsNull(files, metaDataFilePath);
在ProcessIfMetadataIsNull方法中,我調用一個方法來寫數據:
using (StreamWriter sw = new StreamWriter(metaDataFilePath, isAppend))
{
foreach (var item in assemblyFiles)
{
sw.WriteLine(item.GetStringToWrite());
}
}
在ReadMetadataFile方法:
// Get meta data file path
metaDataFilePath = MetaDataFilePath(directory);
// Read meta data content
List<string> contents = ReadContentFile(metaDataFilePath);
return contents;
在MetaDataFilePath方法中:
if (!Directory.Exists(path))
Directory.CreateDirectory(path);
string metaDataFilePath = Path.Combine(path, Metadata);
if (!File.Exists(path))
File.Create(path);`
return metaDataFilePath;
第一次,元數據文件沒有創建,我上傳了一個文件並創建了,引發異常。之後,我刪除了存儲元數據文件的目錄中的所有文件。然後我再次上傳,引發異常。如果我保留元數據文件,則異常消失。 所以,問題來自File.Create方法。你有什麼建議嗎?
創建空文件有什麼意義? –