Как разрешить исключение из памяти при чтении с помощью двоичного считывателя, а затем преобразовать его в строку?
Я получаю исключение из памяти при чтении с помощью двоичного считывателя, а затем преобразую его в строку при чтении большого файла.
Я увеличил размер до более высокого значения, но при преобразовании в строку возникает проблема.
Что я уже пробовал:
FileStream fileStream = new FileStream(strFilePath + strFileName, FileMode.Open, FileAccess.Read, FileShare.Read); int num = 0; BinaryReader binaryReader = new BinaryReader(fileStream, Encoding.GetEncoding(37)); byte[] array = new byte[4]; //byte[] array = new byte[1024]; int num2 = 0; array = binaryReader.ReadBytes(4); //long length = fileStream.Length; num += 4; Array.Reverse(array); int i = BitConverter.ToInt32(array, 0); int num4 = 0; bool flag = false; bool flag2 = false; bool flag3 = false; bool flag4 = false; bool flag5 = false; bool flag6 = false; bool flag7 = false; bool flag8 = false; bool flag9 = false; bool flag10 = false; long num5 = 0L; string line; // Read the file and display it line by line. while (i > 0) { byte[] array2 = new byte[i + 1]; //byte[] array2 = new byte[fileStream.Length]; array2 = binaryReader.ReadBytes(i); num5 += (long)(i + 4); num += i; string @string = Encoding.ASCII.GetString(array2); string key;