Using Java UUID in Matlab

33 Ansichten (letzte 30 Tage)
Gurudatha Pai
Gurudatha Pai am 7 Sep. 2015
Bearbeitet: Andrei Veldman am 17 Mär. 2022
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 Kommentar
David Galbally
David Galbally am 21 Aug. 2021
>> temp = java.util.UUID.randomUUID;
>> myuuid = temp.toString;
>> MATLABstr = myuuid.toCharArray';
>> fprintf(MATLABstr)

Melden Sie sich an, um zu kommentieren.

Antworten (3)

Walter Roberson
Walter Roberson am 7 Sep. 2015
Bearbeitet: Walter Roberson am 7 Sep. 2015
Try
fprintf('%s\n' myuuid);
If that doesn't work then
fprintf('%s\n', char(myuuid));
  3 Kommentare
Walter Roberson
Walter Roberson am 7 Sep. 2015
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
Emile Glorieux am 26 Aug. 2020
This doesn't work for me.
>> fprintf('%s\n', char(myuuid));
Undefined function or variable 'myuuid'.

Melden Sie sich an, um zu kommentieren.


Philipp Tempel
Philipp Tempel am 17 Mär. 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 Kommentar
Andrei Veldman
Andrei Veldman am 17 Mär. 2022
Bearbeitet: Andrei Veldman am 17 Mär. 2022
True, but then you would be using an undocumented Matlab feature, which could change without warning...

Melden Sie sich an, um zu kommentieren.


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

Kategorien

Mehr zu Call Java from MATLAB finden Sie in Help Center und File Exchange

Tags

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by