繁体   English   中英

如何在 Delphi 中修剪/替换 FileStream 中的第一个字符?

[英]How can I trim / replace the first character in a FileStream in Delphi?

我有以下代码用于使用 IDHttp.Get 进行一系列文件缩减,文件的内容

procedure Tform1.GetData;
{***************************}

var
        fs2 : tfilestream;
        s : char;
begin
        Sleep(1000);
        idhttp1.HandleRedirects := TRUE;
        fsjson2 := tfilestream.Create((GstrPath+GstrRep+'-'+GstrHome+'.json'),fmcreate);;
        idhttp1.IOHandler := idssl;
        IdSSL.SSLOptions.SSLVersions := [sslvTLSv1, sslvTLSv1_1, sslvTLSv1_2];
        IdSSL.SSLOptions.Mode := sslmUnassigned;
        try
                idhttp1.Get(GstrURL,fs2);
        except
                on E: Exception do
                begin
                        rememo1.Lines.Add('Seems to be an issue, trying again...');
                        Sleep(500);
                        idhttp1.Get(GstrURL,fs2);
                end;

        end;

我希望有一种方法可以修剪第一个字符,尽管我认为这是不可能的,或者用空白字符替换第一个字符(默认情况下随信息一起提供)。 我认为目前这有点超出我的技能范围,因此希望有人能提供任何帮助。

谢谢

蚂蚁

有几种可能的解决方案:

您正在将数据接收到流中。 如果您想修剪第一个字符,您可以在处理流的地方跳过读取第一个字符并将其丢弃。

如果您无法控制接收流的处理位置,那么您可以简单地创建一个新流并循环读取接收流中的所有字符并将它们写入目标流。 然后扔掉收到的流并保留您创建的流。

如果接收到的数据(当前是流)不是太大,您可以将其接收到字符串而不是流中,然后您可以通过简单的字符串操作来修剪/删除/插入任何内容,最后将修改后的字符串写回流供以后使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM