Clear Filters
Clear Filters

How to Save a File with a New Exetesion?

12 views (last 30 days)
Imagine I have the variable below:
B = [1 2 3];
save(B, B);
When I save variable B, MATLAB creates a file named B.mat. Is there any way to replace its extension with another word (e.g., B.FFF)? I want to do it to be able to find and sort files with such extension easier.

Accepted Answer

Adam on 16 Mar 2017
Edited: Adam on 16 Mar 2017
The obvious
save( 'B.fff', 'B' );
works fine (though obviously better with a full path as always), but as John points out, loading this in the standard way will not work, though
load( 'B.fff', '-mat' )
will do. I have done this myself (though with more meaningful extensions!) on a few occasions for saving data files for a user where it isn't important to the user what type of file it is and I prefer to give my own extension to define the 'type' of file as people sometimes do with XML files.
Purely from a point of view of loading and saving in Matlab there is no obvious reason to not use .mat, it's just a preference for me for files a user will interact with - e.g. if they have 3 different files for parameters of different things then I like to give each an extension related to the type of parameters they store.
  1 Comment
Jan on 16 Mar 2017
+1. Exactly. You cal load e.g. .fig-files using this method also.

Sign in to comment.

More Answers (1)

John D'Errico
John D'Errico on 16 Mar 2017
Well, I suppose you could try. But then MATLAB would be unable to access that file, since it needs to be a .mat file. If the extension is not .mat, then MATLAB will assume the file is saved as a simple ascii text file.
Better is to put the tag into the name. B_FFF, or FFF_B. The latter is better, since a simple sort will bring all those names together, just as you wish.


Find more on Printing and Saving in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!