首页 > 解决方案 > C# File.ReadAllBytes() 只读取前 9k 字节

问题描述

我一直在尝试逐字节读取文件,以便以后可以从我的单个 .exe 文件中创建它。我试图读取该文件的单个字节并将 em 加载到字节数组中。但是当我尝试使用这个程序阅读它们时

using System;
using System.IO;

namespace ok
{
    class Program
    {
        static void Main(string[] args)
        {
            byte[] buffer = null;
            using (FileStream fs = new FileStream(@"D:\Praca\programowanie\Visual Studio\C#\ok\ok\bin\Debug\net5.0\temp.docx", FileMode.Open, FileAccess.Read))
            {
                buffer = new byte[fs.Length];
                fs.Read(buffer, 0, (int)fs.Length);
            }

            for (int i = 0; i <= 13025; i++)
            {
                Console.WriteLine(buffer[i].ToString() + ",");
            }
        }

    }
}

它确实返回单个字节,但它只返回前 9000 个左右的字节,然后关闭程序。有人能帮我一下吗?如果需要,我会很乐意提供更多详细信息

标签: c#arraysbyte

解决方案


对不起,这是一个愚蠢的问题。事实证明它读得很好,但是 9000 是 CMD 窗口的大小限制。我将只读取前 8500 个字节,然后手动添加它们。


推荐阅读