為臨時檔案建立唯一名稱
在編寫指令碼或函式時,可能需要一個或多個臨時檔案以便例如儲存一些資料。
為了避免覆蓋現有檔案或隱藏 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
生成臨時檔名。在這種情況下,臨時檔名不保證是唯一的。