如何从代码中删除文件?

How to delete file from code?

我必须从 X++ 代码中删除一个 文件

我在我的方法中使用了这段代码:

TextIO textIO;

str filename, fileOpen, folder;
int handle;
Io thisMYFile;
FileIoPermission perm;

#File
#avifiles
#OCCRetryCount

[handle, filename]  =   WINAPI::findFirstFile(folder + "\*.csv");

fileOpen = strFmt (folder + "\" +  filename);

perm = new FileIoPermission(fileOpen, 'w');
perm.assert();

thisMYFile = new CommaTextIo(fileOpen , 'w');

 WinApi::deleteFile(fileOpen);
}

}
 catch
{}
}

打开的值文件是:C:\Users\myUserName\Desktop\myFolder\myFile.csv .

我可以阅读并填写 table,但是当我必须删除它时,它会出错

catch(Exception::CLRError)

(在classes\WinAPI\DeleteFile).

是否存在权限问题?

您仍然通过 thisMYFile 变量打开文件。
在尝试删除文件之前将其设置为 null

...
perm = new FileIoPermission(fileOpen, 'w');
perm.assert();

thisMYFile = new CommaTextIo(fileOpen , 'w');
// Do stuff
thisMYFile = null;

WinApi::deleteFile(fileOpen);
...