这是方法的主体:进程无法访问该文件,因为它正在被另一个进程使用。 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方法。你有什么建议吗?
创建空文件有什么意义? –