-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'塊沒有幫助你或任何其他人。 –