What is the fastest/best way to create several thousand (text) files?
6 views (last 30 days)
Show older comments
What is the fastest/best way to create several thousand (text) files?
The files should have the same name base and be numbered accordingly.
6 Comments
John D'Errico
on 12 Sep 2023
Not at all surprising. Odds are this just says your hard disk is fragmented. That is a natural thing for any drive that has been in use for possibly multiple years. So each time, your OS takes a little more time to allocate the necessary disk space. This is not a MATLAB issue by the way. It is your OS that is doing the work, and taking the time.
I might suggest you do it by working on an empty drive on the side. Now you would probably find it is less hungry for time.
Accepted Answer
Kunal Kandhari
on 12 Sep 2023
Using "fopen" & "fprintf" is one of the fastest way of creating several thousand text files
below is the sample code for it:
baseFileName = 'textfile'; % The base name for your files
numFiles = 100000; % The number of files you want to create
for i = 1:numFiles
% Generate the full file name with a numerical suffix
fileName = sprintf('%s_%04d.txt', baseFileName, i);
% Open the file for writing
fileID = fopen(fileName, 'w');
% Write some content to the file (you can customize this part)
fprintf(fileID, 'This is file number %d\n', i);
% Close the file
fclose(fileID);
end
The speed of file creation depends on various factors, including the file system's performance, your hardware, and how efficiently you write the files.
The MATLAB code above is a straightforward way to accomplish the task, and it's not inherently slow.
You can read more about the "fprintf" and "fopen" from the following documentation:
More Answers (0)
See Also
Categories
Find more on Startup and Shutdown 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!