为临时文件创建唯一名称
在编写脚本或函数时,可能需要一个或多个临时文件以便例如存储一些数据。
为了避免覆盖现有文件或隐藏 MATLAB 函数,可以使用 tempname函数为系统临时文件夹中的临时文件生成唯一名称。
my_temp_file=tempname
生成文件名时没有扩展名; 可以通过将所需的扩展名连接到 tempname
生成的名称来添加它
my_temp_file_with_ext=[tempname '.txt']
可以通过调用 tempdir 函数来检索系统临时文件夹的 locaton。
如果在执行函数/脚本期间不再需要临时文件,可以使用 delete 函数删除它
由于 delete
不要求确认,因此将 on
设置为在 recycle
文件夹中移动要删除的文件的选项可能很有用。
这可以通过以下方式使用函数回收来完成 :
recycle('on')
在以下示例中,提出了函数 tempname
,delete
和 recycle
的可能用法。
%
% Create some example data
%
theta=0:.1:2*pi;
x=cos(theta);
y=sin(theta);
%
% Generate the temporary filename
%
my_temp_file=[tempname '.mat'];
%
% Split the filename (path, name, extension) and display them in a message box
[tmp_file_path,tmp_file_name, tmp_file_ext]=fileparts(my_temp_file)
uiwait(msgbox(sprintf('Path= %s\nName= %s\nExt= %s', ...
tmp_file_path,tmp_file_name,tmp_file_ext),'TEMPORARY FILE'))
%
% Save the varaibles in a temporary file
%
save(my_temp_file,'x','y','theta')
%
% Load the varaibles from the temporary file
%
load(my_temp_file)
%
% Set the reclycle option on
%
recycle('on')
%
% Delete the temporary file
%
delete(my_temp_file)
警告
使用 java.util.UUID.randomUUID
方法( randomUUID ) 生成临时文件名。
如果在没有 JVM 的情况下运行 MATLAB,则
根据 CPU 计数器和时间使用 matlab.internal.timing.timing
生成临时文件名。在这种情况下,临时文件名不保证是唯一的。