当利用AE生成tiff、img等格式的影像文件时,需要检查是否存在同名文件,如果存在则替换原有文件。这里如果直接用System .IO .File .Delete (string path)方法删除原有文件会报错,这是由于该方法并没有完全清除影像文件附带的文件(如.aux,.rrd等),导致生成新文件时发生冲突。
后来发现其实AE提供了自己的文件删除方法,就是先打开数据集,再调用数据集的Delete方法即可,代码如下:
IWorkspaceFactory pWSF = new RasterWorkspaceFactoryClass();
IRasterWorkspace pRWS = pWSF.OpenFromFile(pathName,0) as IRasterWorkspace;//pathName为路径名
IDataset pDataset = pRWS.OpenRasterDataset(fileName) as IDataset;//fileName为文件名(不包含路径)
pDataset.Delete();
对于矢量的shp文件,并没有进行尝试,以前是使用System .IO .File .Delete (string path)方法将shp格式数据包含的六个文件全部删除,现在想来应该也可以使用这种方式。
希望能为您带来帮助!