Using Java UUID in Matlab

30 ビュー (過去 30 日間)
Gurudatha Pai
Gurudatha Pai 2015 年 9 月 7 日
編集済み: Andrei Veldman 2022 年 3 月 17 日
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
David Galbally 2021 年 8 月 21 日
>> temp = java.util.UUID.randomUUID;
>> myuuid = temp.toString;
>> MATLABstr = myuuid.toCharArray';
>> fprintf(MATLABstr)

サインインしてコメントする。

回答 (3 件)

Walter Roberson
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
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
Emile Glorieux 2020 年 8 月 26 日
This doesn't work for me.
>> fprintf('%s\n', char(myuuid));
Undefined function or variable 'myuuid'.

サインインしてコメントする。


Philipp Tempel
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
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
Andrei Veldman 2022 年 1 月 19 日
...or, using pure Matlab (no need for converting form Java):
[~,guid] = fileparts(tempname)
guid = 'tp8d1a6bd2_0ac7_4c0a_8d3d_b32e4e97b746'

カテゴリ

Help Center および File ExchangeCall Java from MATLAB についてさらに検索

タグ

製品

Community Treasure Hunt

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

Start Hunting!

Translated by