如何把文件流转换成字符串

如题所述

第1个回答  2016-11-23
function StringToFile(mString: string; mFileName: TFileName): Boolean; { 返回字符串保存到文件是否成功 } var vFileChar: file of Char; I: Integer; begin {$I-} AssignFile(vFileChar, mFileName); Rewrite(vFileChar); for I := 1 to Length(mString) do Write(vFileChar, mString[I]); CloseFile(vFileChar); {$I+} Result := (IOResult = 0) and (mFileName <> ''); end; { StringToFile } function FileToString(mFileName: TFileName): string; { 返回从文件载入字符串 } var vFileChar: file of Char; vChar: Char; begin Result := ''; {$I-} AssignFile(vFileChar, mFileName); Reset(vFileChar); while not Eof(vFileChar) do begin Read(vFileChar, vChar); Result := Result + vChar; end; CloseFile(vFileChar); {$I+} end; { FileToString } function StreamToString(mStream: TStream): string; { 将内存流转换成字符串 } var I: Integer; begin Result := ''; if not Assigned(mStream) then Exit; SetLength(Result, mStream.Size); for I := 0 to Pred(mStream.Size) do try mStream.Position := I; mStream.Read(Result[Succ(I)], 1); except Result := ''; end; end; { StreamToString } function StringToStream(mString: string; mStream: TStream): Boolean; { 返回将字符串保存到内存流是否成功 } var I: Integer; begin Result := True; try mStream.Size := 0; mStream.Position := 0; for I := 1 to Length(mString) do mStream.Write(mString[I], 1); except Result := False; end; end; { StringToStream } ///////End Source ///////Begin Demo procedure TForm1.Button1Click(Sender: TObject); var vMemoryStream: TMemoryStream; begin Memo1.Text := FileToString('C:\WINDOWS\Desktop\1.txt'); vMemoryStream := TMemoryStream.Create; try Memo1.Lines.SaveToStream(vMemoryStream); Memo2.Text := StreamToString(vMemoryStream); finally vMemoryStream.Free; end; end; procedure TForm1.Button2Click(Sender: TObject); var vMemoryStream: TMemoryStream; begin StringToFile(Memo2.Text, 'C:\WINDOWS\Desktop\1.txt'); vMemoryStream := TMemoryStream.Create; try StringToStream(Memo2.Text, vMemoryStream); vMemoryStream.Position := 0; Memo1.Lines.LoadFromStream(vMemoryStream); finally vMemoryStream.Free; end; end; ///////End Demo

怎么样将一个文件流转换为二进制的字符串
文本流是解释性的,最长可达255个字符,其中回车\/换行将被转换为换行符“\\n”,(如果以"文本"方式打开一个文件,那么在读字符的时候,系统会把所有的"\\r\\n"序列转成"\\n",在写入时把"\\n"转成"\\r\\n" archim 's opinion )。二进制流是非解释性的,一次处理一个字符,并且不转换字符。

base64文件流互转
编码过程:将字节数据转换为Base64编码字符串。解码过程:将Base64编码的字符串转换回原始字节数据。实例演示:验证编码和解码过程。推荐在线转换工具:jsons.cn\/img2base64\/ 和 base64.supfree.net\/,方便快速完成Base64文件流互转任务。

java输出流怎么转换为字符串
首先,最直接的方法是使用InputStream.read(byte[] b, int off, int len),这个方法会读取指定数量的字节到指定的byte数组中。例如:byte[] bytes = new byte[1024];int bytesRead = in.read(bytes);if (bytesRead != -1) { \/\/ bytesRead now holds the number of bytes read } 另一种...

怎么样将一个文件流转换为二进制的字符串?
你应该使用一种编码方式来转换。参考Base64编码,比较有效率,得到的字符串长度约为二进制数据的1.3倍。上面的人提供的方式转换起来会长得多。

怎么将一个文件流转换成字符串
\/\/建立一个上传文件的输出流 System.out.println(filePath + "\/" + file.getFileName());int bytesRead = 0;byte[] buffer = new byte[8192];while ((bytesRead = stream.read(buffer, 0, 8192)) != -1) { bos.write(buffer, 0, bytesRead);\/\/将文件写入服务器 } bos.close();s...

怎么将一个文件流转换成字符串
end; { FileToString } function StreamToString(mStream: TStream): string;{ 将内存流转换成字符串 } var I: Integer;begin Result := '';if not Assigned(mStream) then Exit;SetLength(Result, mStream.Size);for I := 0 to Pred(mStream.Size) do try mStream.Position := I;m...

C#中怎样把流文件转换为字符串
request.GetResponse();request.Method = "GET";Stream receiveStream = response.GetResponseStream();StreamReader readStream = new StreamReader(receiveStream, Encoding.UTF8);string SourceCode = readStream.ReadToEnd();response.Close();readStream.Close();SourceCode 就是那个字符串 ...

delphi 怎么将一个流转换成字符串
可以使用 TStringStream 对象来转换。

python如何将json转成字符串
首先,确认数据类型。接下来,执行“str = json.dumps(data,indent=2)”命令,将 JSON 转换为字符串。最后,使用 print 语句输出字符串。执行此操作时,需要注意:若未添加 ensure_ascii=False,可能出现乱码问题。在数据文件 "data.json" 中,如果添加了 ensure_ascii=False,将能有效避免乱码,确保...

Java如何读取同一个包里面的txt文档,转换成字符串?求帮助。
【问题叙述】在使用writeUTF(String str)这个方法之前最好调用writeShort(int inv)方法将一个 short 值以 2-byte 值形式写入基础输出流中,先写入高字节的方式,避免丢失字符。【代码演示】import java.io.*;public class FileTest { public static void main(String [] args){ try { FileWriter fw...

相似回答