-1
我试图创建一个JSON文件,如果它不存在,然后写入所有行。该文件的创建工作,但我遇到的问题是File.WriteAllLines说“该进程无法访问该文件,因为它正在被另一个进程使用”。C#:创建后无法访问文件
这里是我的代码:
public void generateFolderFiles(string folderToSearch, string fileToEdit) {
string[] filesToSearch = Directory.GetFiles(folderToSearch);
string completeJson = "";
for(int i=0;i<filesToSearch.Length;i++) {
try {
File.Delete(fileToEdit);
File.Create(fileToEdit);
} catch(Exception e){}
string[] fsLines = File.ReadAllLines(filesToSearch[i]);
string fsText = string.Join("", fsLines);
fsText=fsText.Replace("[", "").Replace("]", "");
completeJson+=fsText;
}
completeJson="["+completeJson+"]";
string[] lnes = new string[1]{completeJson};
File.WriteAllLines(fileToEdit, lnes);
}
请参阅http://stackoverflow.com/questions/26741191/ioexception-the-process-cannot-access-the-file-file-path-because-it-is-being –
'for'循环看起来有点不可思议对我来说;假设'folderToSearch'中有10个文件;那么你删除并创建相同的'fileToEdit'文件10次,因为该字符串在你提供的代码中没有改变。 – mcy
空'catch'块没有帮助你或任何其他人。 –