Using Java UUID in Matlab
31 次查看(过去 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!