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 commentaire

David Galbally
David Galbally le 21 Août 2021
>> temp = java.util.UUID.randomUUID;
>> myuuid = temp.toString;
>> MATLABstr = myuuid.toCharArray';
>> fprintf(MATLABstr)

Connectez-vous pour commenter.

Réponses (3)

Walter Roberson
Walter Roberson le 7 Sep 2015
Modifié(e) : Walter Roberson le 7 Sep 2015

2 votes

Try
fprintf('%s\n' myuuid);
If that doesn't work then
fprintf('%s\n', char(myuuid));

3 commentaires

that also doesn't work
>> fprintf('%s',myuuid)
Error using fprintf
Function is not defined for 'java.lang.String' inputs.
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));
This doesn't work for me.
>> fprintf('%s\n', char(myuuid));
Undefined function or variable 'myuuid'.

Connectez-vous pour commenter.

Philipp Tempel
Philipp Tempel le 17 Mar 2022

1 vote

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 commentaire

Andrei Veldman
Andrei Veldman le 17 Mar 2022
Modifié(e) : Andrei Veldman le 17 Mar 2022
True, but then you would be using an undocumented Matlab feature, which could change without warning...

Connectez-vous pour commenter.

Andrei Veldman
Andrei Veldman le 19 Jan 2022
...or, using pure Matlab (no need for converting form Java):
[~,guid] = fileparts(tempname)
guid = 'tp8d1a6bd2_0ac7_4c0a_8d3d_b32e4e97b746'

Produits

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by