read streams line by line

2019-02-18 09:51发布

问题:

Is there a way in Delphi to read streams ,line by line?

Is there a way to set the encoding of the stream?

I know of

TEncoding.getEncodingPage(1250); 

How to get it from stream?

回答1:

I think you're looking for TStreamReader. You set the encoding in the constructor and then call ReadLine.

In terms of how to get the encoding from the stream, that depends very much on what is in the stream, doesn't it?



回答2:

Delphi versions that lack TStreamReader can use Peter Below's StreamIO unit, which gives you AssignStream. It works just like AssignFile, but for streams instead of file names. Once you've used that function to associate a stream with a TextFile variable, you can call ReadLn and the other I/O functions on it just like any other file.