前面一篇在講刪除影像文件時,順帶提了一下刪除shp文件的操作,但是自己沒有試,今天正好手頭的任務要判斷是否存在同名shp文件並替換,於是就試了試,結果與猜想基本一致,最后順利通過。上代碼:
IWorkspaceFactory pWSF = new ShapefileWorkspaceFactoryClass();
IFeatureWorkspace pFWS = pWSF.OpenFromFile(pathName,0) as IFeatureWorkspace ;//pathName為路徑名
IFeatureClass pFeaCls = pFWS.OpenFeatureClass(fileName);//fileName為文件名(不包含路徑)
IDataset pFeaDataset = pFeaCls as IDataset;
pFeaDataset .Delete();
這里與原設想的出入就在於,原來想的很簡單,直接打開為FeatureDataset,再刪除就可以了,可是發現不行,原因應該是shp文件直接就是一個FeatureClass,其FeatureDataset屬性為空,所以只能打開為FeatureClass,再轉成FeatureDataset刪除。還是對esri的數據存儲機制太不了解啊!