Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ InternalReadAllTextAsync()

static async Task< string > System.IO.File.InternalReadAllTextAsync ( string path,
Encoding encoding,
CancellationToken cancellationToken )
inlinestaticprivate

Definition at line 663 of file File.cs.

664 {
665 char[] buffer = null;
666 StreamReader sr = AsyncStreamReader(path, encoding);
667 try
668 {
669 cancellationToken.ThrowIfCancellationRequested();
670 buffer = ArrayPool<char>.Shared.Rent(sr.CurrentEncoding.GetMaxCharCount(4096));
671 StringBuilder sb = new StringBuilder();
672 while (true)
673 {
674 int num = await sr.ReadAsync(new Memory<char>(buffer), cancellationToken).ConfigureAwait(continueOnCapturedContext: false);
675 if (num == 0)
676 {
677 break;
678 }
679 sb.Append(buffer, 0, num);
680 }
681 return sb.ToString();
682 }
683 finally
684 {
685 sr.Dispose();
686 if (buffer != null)
687 {
688 ArrayPool<char>.Shared.Return(buffer);
689 }
690 }
691 }
static StreamReader AsyncStreamReader(string path, Encoding encoding)
Definition File.cs:625
override string ToString()
StringBuilder Append(char value, int repeatCount)

References System.Text.StringBuilder.Append(), System.IO.File.AsyncStreamReader(), System.buffer, System.cancellationToken, and System.Text.StringBuilder.ToString().

Referenced by System.IO.File.ReadAllTextAsync().