TFileStream和TMemoryStream分别读取、创建、合并文件

function Tform1.Test;
var
fs:TFileStream;
fs2:TFileStream;
fs3:TFileStream;
str:string;
ms:TMemoryStream;
ms2:TMemoryStream;
sr:TStream;
begin
    //TFileStream创建文本文件
    str:='文件操作';
    fs:=TFileStream.Create('c:\1.txt',fmCreate);
    fs.WriteBuffer((PChar(str))^,Length(str));
    fs.Free;

    //TFileStream读取文本文件
    fs:=TFileStream.Create('c:\1.txt',fmOpenRead);
    SetLength(str,fs.size);
    fs.ReadBuffer((PChar(str))^,fs.Size);
    ShowMessage(str);
    fs.Free;

    //TFileStream读取文本文件
    ms:=TMemoryStream.Create;
    ms.LoadFromFile('c:\1.txt');
    SetLength(str,ms.size);
    ms.ReadBuffer((PChar(str))^,ms.size);
    ms.Free;
    ShowMessage(str);

    //TMemoryStream创建文本文件
    str:='文件操作';
    ms:=TMemoryStream.Create;
    ms.WriteBuffer((PChar(str))^,Length(str));
    ms.SaveToFile('c:\2.txt');
    ms.Free;

    //TMemoryStream文件合并
    ms:=TMemoryStream.Create;
    ms.LoadFromFile('c:\1.txt');
    ms.Position:=ms.Size;//移动文件指针
    ms2:=TMemoryStream.Create;
    ms2.LoadFromFile('c:\2.txt');
    ms.CopyFrom(ms2,0);
    ms.SaveToFile('c:\3.txt');
    ms.Free;
    ms2.Free;
end;

时间: 2024-10-13 02:30:42

TFileStream和TMemoryStream分别读取、创建、合并文件的相关文章

stream流批量读取并合并文件

import java.io.BufferedReader; import java.io.File; import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.StringWriter; import java.nio.channels.FileChannel; import java.util

JAVA 创建TXT文件,写入文件内容,读取文件内容

1 package com.abin.facade.ws.mail.function; 2 3 import java.io.BufferedReader; 4 import java.io.File; 5 import java.io.FileOutputStream; 6 import java.io.FileReader; 7 import java.io.RandomAccessFile; 8 9 public class FileOperation { 10 11 /** 12 * 创

MeteoInfoLab脚本示例:创建netCDF文件(合并文件)

在MeteoInfoLab中增加了创建netCDF文件并写入数据的功能,这里利用合并多个netCDF文件为一个新的netCDF文件为例. 1.创建一个可写入的netCDF文件对象(下面用ncfile表示),用addfile函数,第一个参数是文件名,第二次参数'c'表示创建新的netCDF文件.ncfile = addfile(outfn, 'c') 2.添加维(Dimensions),用ncfile的adddim函数,两个参数分别是维名称和维长度.stn = 26564stdim = ncfil

JAVA之IO技术 合并文件--有bug哦

/*将三个文本文件的内容copy到一个文件中. * 基本思路:通过续写的方式. * * JAVA之IO技术中提供了一个可串联的字节输入流对象. * * 合并流对象 * SequenceInputStream: * SequenceInputStream 表示其他输入流的逻辑串联. * 它从输入流的有序集合开始,并从第一个输入流开始读取, * 直到到达文件末尾,接着从第二个输入流读取,依次类推, * 直到到达包含的最后一个输入流的文件末尾为止. * 有两个构造函数: * SequenceInput

Linux下分割、合并文件——dd和cat

功能说明:读取,转换并输出数据. 语 法:dd [bs=<字节数>][cbs=<字节数>][conv=<关键字>][count=<区块数>][ibs=<字节数>][if=<文件>][obs=<字节数>][of=<文件>][seek=<区块数>][skip=<区块数>][–help][–version] 补充说明:dd可从标准输入或文件读取数据,依指定的格式来转换数据,再输出到文件,设备或

根据给定分割文件的分数进行进行分割与使用配置文件合并文件

package cn.mytext.ref; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; im

练习:读取解析CSV文件,将读取结果输出的控制台上,并封装到4个Teacher对象中.

/** *    读取解析CSV文件,将读取结果输出的控制台上,并封装到4个Teacher对象中. *    1, 土鳖, 13101015338, 北京海淀区 2, 咪咪, 13201015338, 北京朝阳区 3, 小仓, 13601015818, 北京宣武区 4, 饭岛爱, 13201025818, 北京朝阳区 /** * 读取解析CSV文件,将读取结果输出的控制台上,并封装到4个Teacher对象中. * 1, 土鳖, 13101015338, 北京海淀区 2, 咪咪, 13201015

读取本地数据库文件

有时候我们可以将类似省份城市的数据库文件存放在assets/文件夹名/××.sql下,当程序在创建数据库时读取该数据库文件,并执行其内的sql语句 在SqLiteOpenHelper类的onCreate方法中调用 executeAssetsSQL(db, "××.sql"); /** * 读取数据库文件(.sql),并执行sql语句 * */ private void executeAssetsSQL(SQLiteDatabase db, String schemaName) { Bu

C#如何读写和创建INI文件

在做项目过程中,有时需要保存一些简单的配置信息,可以使用xml,也可以使用INI文件.下面是C#中读取INI的方法,相信大部分朋友都使用过这种方式.INI文件的存储方式如下, [csharp] view plain copy print? [section] key=value key=value 读取写入方法, [csharp] view plain copy print? [DllImport("kernel32")] private static extern long Writ