Соединить два текстовых файла (Delphi xe4).
Добрый вечер.
Задача состоит в следующем: Программа на delphi xe4. На форме расположена кнопка. При нажатии на кнопку нужно выбрать нужные файлы из папки и соединить их в один. Файлы формата .txt. Кто может подсказать функцию для соединения больших файлов (1 гигабайт и выше) ?. Или может есть готовый вариант, в общем любые ваши предложения и помощь.
|
Возможно TXTcollector поможет? Хотя на файлах именно такого размера я его не пробовал.
|
А что мешает небольшими блоками скопировать содержимое первого файла в новый файл, а потом сразу содержимое второго? Не обязательно ж все даныне в память загружать.
|
Обычно, лично я когда мне нужен был текст, просто выделял его и копировал, а потом вставлял в блокнот. Так можно было склеить любую длину файлов с расширением ххх.txt. Для меня это было проще. Да же книги которые нельзя скачать я так собирал
Но если нужно склеить много файлов в один существует малюсенькая программа - File Joiner. Я ей никогда не пользовался и ничего о ней сказать не могу.
|
Код:
copy /b file1+file2 file3
|
ziku, NickM, а разве задача не в написании соответствующей программы?
ziku, скопировать в блокнот гигабайт текста. Хорошая шутка :)
|
Попробуйте через потоки
Код:
procedure ConcatenateFiles(const InFileNames: array of string;
const OutFileName: string);
var
i: Integer;
InStream, OutStream: TFileStream;
begin
OutStream := TFileStream.Create(OutFileName, fmCreate);
try
for i := 0 to high(InFileNames) do
begin
InStream := TFileStream.Create(InFileNames[i], fmOpenRead);
try
OutStream.CopyFrom(InStream, InStream.Size);
finally
InStream.Free;
end;
end;
finally
OutStream.Free;
end;
end;
ConcatenateFiles(['Part1', 'Part2'], 'OutFile')
|
Время: 23:52.
© OSzone.net 2001-