Using Java UUID in Matlab

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 Commento

David Galbally
David Galbally il 21 Ago 2021
>> temp = java.util.UUID.randomUUID;
>> myuuid = temp.toString;
>> MATLABstr = myuuid.toCharArray';
>> fprintf(MATLABstr)

Accedi per commentare.

Risposte (3)

Walter Roberson
Walter Roberson il 7 Set 2015
Modificato: Walter Roberson il 7 Set 2015
Try
fprintf('%s\n' myuuid);
If that doesn't work then
fprintf('%s\n', char(myuuid));

3 Commenti

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'.

Accedi per commentare.

Philipp Tempel
Philipp Tempel il 17 Mar 2022
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 Commento

Andrei Veldman
Andrei Veldman il 17 Mar 2022
Modificato: Andrei Veldman il 17 Mar 2022
True, but then you would be using an undocumented Matlab feature, which could change without warning...

Accedi per commentare.

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

Categorie

Prodotti

Tag

Richiesto:

il 7 Set 2015

Modificato:

il 17 Mar 2022

Community Treasure Hunt

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

Start Hunting!

Translated by