我有一个 MATLAB 脚本,需要将临时文件写入磁盘,然后在我完成后删除这些文件。重要的是我自己删除了这些文件(而不是让它们累积在临时目录中),因为有问题的代码处于执行多次的循环中。如果文件没有被及时删除,脚本将很快占用大量磁盘空间。
我认为下面的代码片段会起作用,当我自己运行它时它会起作用。但是,由于某种原因,当我将其包含在较大的脚本中时,该片段会失败。临时文件不会被删除并且会弄乱临时目录。
% create temporary file
myTmpFile = [tempname '.wav'];
fs = 32000;
wavwrite(zeros(fs,1),fs,myTmpFile);
% use the file here
% delete the file when we're done
prevState = recycle('off'); % turn recycle off to permanently delete files
delete(myTmpFile)
recycle(prevState); % restore the state of recycle
有谁知道我做错了什么?我在 OS X 10.7.3 上运行 MATLAB 7.10.0。
- 编辑 *
我想到了。请看下面我的回答。