如何从代码中删除文件?
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);
...
我必须从 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);
...