Xcode
На выбор есть 2 варианта:
1. Быстро, но в несколько файлов; кол-во файлов = произведению размерностей массива. Используем метод SaveToFile в цикле, например так:
Код:

var
i, k, j: Integer;
fn: String;
begin
......
// Сохранение
for i := 0 to i_max do
for k := 0 to k_max do
for j := 0 to j_max do begin
fn := Format('%2x%2x%2x',[i,k,j]) + '.dat';
StrListArray[i, k, j].SaveToFile(fn);
end;
.....
// Загрузка
for i := 0 to i_max do
for k := 0 to k_max do
for j := 0 to j_max do begin
fn := Format('%2x%2x%2x',[i,k,j]) + '.dat';
StrListArray[i, k, j].LoadFromFile(fn);
end;
.....
2. Медленнее, но в 1 файл. Тут по-простому: сначала пишем в файл размер отдельного TStringList (WriteLn(F, StrListArray[i, k, j].Count)), а потом сам TStringList построчно (WriteLn(F, StrListArray[i, k, j][z]); в четырех вложенных циклах все реализуется

.