Using Java UUID in Matlab
30 ビュー (過去 30 日間)
古いコメントを表示
I am trying to use JAVA UUIDs to identify the objects in my code. When I try to print it inside an fprintf, I get a weird error. I could print it in disp but that is not ideal since I want a good formatted message.
>> temp = java.util.UUID.randomUUID;
>> myuuid = temp.toString;
>> disp(myuuid)
a8a4eae2-6cc7-47d3-b58e-408b71fab260
>> fprintf(myuuid)
Error using fprintf
Invalid file identifier. Use fopen to generate a valid file identifier.
Any help in understanding or fixing this error is appreciated.
1 件のコメント
David Galbally
2021 年 8 月 21 日
>> temp = java.util.UUID.randomUUID;
>> myuuid = temp.toString;
>> MATLABstr = myuuid.toCharArray';
>> fprintf(MATLABstr)
回答 (3 件)
Walter Roberson
2015 年 9 月 7 日
編集済み: Walter Roberson
2015 年 9 月 7 日
Try
fprintf('%s\n' myuuid);
If that doesn't work then
fprintf('%s\n', char(myuuid));
3 件のコメント
Walter Roberson
2015 年 9 月 7 日
It appears that I was adding a second option to my answer just as you replied. Did you get a chance to try
fprintf('%s\n', char(myuuid));
Emile Glorieux
2020 年 8 月 26 日
This doesn't work for me.
>> fprintf('%s\n', char(myuuid));
Undefined function or variable 'myuuid'.
Philipp Tempel
2022 年 3 月 17 日
This may be too stupid to be true but, looking at the source code of tempname(), you can see that you can simply do
uuid = char(matlab.lang.internal.uuid())
1 件のコメント
Andrei Veldman
2022 年 3 月 17 日
編集済み: Andrei Veldman
2022 年 3 月 17 日
True, but then you would be using an undocumented Matlab feature, which could change without warning...
Andrei Veldman
2022 年 1 月 19 日
...or, using pure Matlab (no need for converting form Java):
[~,guid] = fileparts(tempname)
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Call Java from MATLAB についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!