GZipStream 和 DeflateStream 生成更大的文件

2023-11-25

我正在尝试在 C# 中使用 deflate/gzip 流,但压缩后的文件似乎比以前更大。

例如,我压缩了 900ko 的 docx 文件,但它生成了 1.4Mo 的文件!

它对我尝试过的每个文件都执行此操作。

也许我的做法是错误的?这是我的代码:

  FileStream input = File.OpenRead(Environment.CurrentDirectory + "/file.docx");
  FileStream output = File.OpenWrite(Environment.CurrentDirectory + "/compressedfile.dat");

  GZipStream comp = new GZipStream(output, CompressionMode.Compress);

  while (input.Position != input.Length)
      comp.WriteByte((byte)input.ReadByte());

  input.Close();

  comp.Close(); // automatically call flush at closing
  output.Close();

如此大的差异对我来说似乎很奇怪,但你应该记住这一点docx本身是在 ZIP 中压缩的,因此没有理由再次压缩它,结果通常会更大。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GZipStream 和 DeflateStream 生成更大的文件 的相关文章

  • 在C语言中使用“void”

    我很困惑为什么我们需要通过void转换为 C 函数 int f void return 0 versus int f return 0 什么是正确的做法以及为什么 In C int f 是一种老式的声明 它说f需要固定但未指定数量和类型的参
  • 为什么libc++的shared_ptr实现使用完整内存屏障而不是宽松内存屏障?

    在boost的实现中shared ptr 它用放松内存排序以增加其引用计数 https github com boostorg smart ptr blob master include boost smart ptr detail sp
  • ASP.NET MVC 中的经典 ASP (C#)

    我有一个应用程序想要 最终 转换为 ASP NET MVC 我想要进行全面的服务升级 到 ASP NET 但想要使用当前的 ASP 内容来运行当前的功能 这样我就可以在对新框架进行增量升级的同时升级小部分 该站点严重依赖于不太成熟的 VB6
  • 我的线程图像生成应用程序如何将其数据传输到 GUI?

    Mandelbrot 生成器的缓慢多精度实现 线程化 使用 POSIX 线程 Gtk 图形用户界面 我有点失落了 这是我第一次尝试编写线程程序 我实际上并没有尝试转换它的单线程版本 只是尝试实现基本框架 到目前为止它是如何工作的简要描述 M
  • 为什么我不能用 `= delete;` 声明纯虚函数?

    Intro 纯虚函数使用通用语法声明 virtual f 0 然而 自 c 11 以来 有一种方法可以显式地传达non existence 特殊 成员函数的 Mystruct delete eg default constructor Q
  • 如何创建可以像 UserControl 一样编辑的 TabPage 子类?

    我想创建一个包含一些控件的 TabPage 子类 并且我想通过设计器来控制这些控件的布局和属性 但是 如果我在设计器中打开子类 我将无法像在 UserControl 上那样定位它们 我不想创建一个带有 UserControl 实例的 Tab
  • 如何在 Android NDK 中创建新的 NativeWindow 而无需 Android 操作系统源代码?

    我想编译一个 Android OpenGL 控制台应用程序 您可以直接从控制台启动 Android x86 运行 或者从 Android x86 GUI 内的 Android 终端应用程序运行 这个帖子 如何在 Android NDK 中创
  • 从 MVC 迁移到 ASP.NET Core 3.1 中的端点路由时,具有角色的 AuthorizeAttribute 不起作用

    我正在尝试将我的项目从 UseMVC asp net core 2 2 兼容样式 升级到 UseEndpoint Routing 并且我的所有请求都被重定向到我的验证失败页面 它与声明有关 如果我删除 Authorize Roles Adm
  • 构造函数中显式关键字的使用

    我试图了解 C 中显式关键字的用法 并查看了这个问题C 中的explicit关键字是什么意思 https stackoverflow com questions 121162 但是 那里列出的示例 实际上是前两个答案 对于用法并不是很清楚
  • JSON 数组到 C# 列表

    如何将这个简单的 JSON 字符串反序列化为 C 中的列表 on4ThnU7 n71YZYVKD CVfSpM2W 10kQotV 这样 List
  • 从多个类访问串行端口

    我正在尝试使用串行端口在 arduino 和 C 程序之间进行通信 我对 C 编程有点陌生 该程序有多种用户控制形式 每一个都需要访问串口来发送数据 我需要做的就是从每个类的主窗体中写入串行端口 我了解如何设置和写入串行端口 这是我的 Fo
  • 如何从 C# 控制器重定向到外部 url

    我使用 C 控制器作为网络服务 在其中我想将用户重定向到外部网址 我该怎么做 Tried System Web HttpContext Current Response Redirect 但没有成功 使用控制器的重定向 http msdn
  • Qt 创建布局并动态添加小部件到布局

    我正在尝试在 MainWindow 类中动态创建布局 我有四个框架 它们是用网格布局对象放置的 每个框架都包含一个自定义的 ClockWidget 我希望 ClockWidget 对象在调整主窗口大小时相应地调整大小 因此我需要将它们添加到
  • 如何重置捕获像素的值

    我正在尝试创建一个 C 函数 该函数返回屏幕截图位图中每四个像素的 R G 和 B 值 这是我的代码的一部分 for int ix 4 ix lt 1366 ix ix 4 x x 4 for int iy 3 iy lt 768 iy i
  • 尚未处理时调用 Form 的 Invoke 时出现 ObjectDisposeException

    我们得到一个ObjectDisposedException从一个电话到Invoke在尚未处理的表格上 这是一些演示该问题的示例代码 public partial class Form2 Form void Form2 Load object
  • 结构体指针的动态数组

    我必须使用以下代码块来完成学校作业 严格不进行任何修改 typedef struct char firstName char lastName int id float mark pStudentRecord pStudentRecord
  • 什么是 __declspec 以及何时需要使用它?

    我见过这样的例子 declspec在我正在阅读的代码中 它是什么 我什么时候需要使用这个构造 这是 Microsoft 对 C 语言的特定扩展 它允许您使用存储类信息来赋予类型或函数属性 文档 declspec C https learn
  • 使用 CSharpCodeProvider 类编译 C# 7.3 的 C# 编译器版本是什么?

    我想使用 Microsoft CSharp CSharpCodeProvider 类来编译 C 7 3 代码 编译器版本在 IDictionary 中指定 在创建新的 CSharpCodeProvider 时将其作为输入 例如 Compil
  • 使用 Crypto++ 获取 ECDSA 签名

    我必须使用 Crypto 在变量中获取 ECDSA 签名 我在启动 SignMessage 后尝试获取它 但签名为空 我怎样才能得到它 你看过 Crypto wiki 吗 上面有很多东西椭圆曲线数字签名算法 http www cryptop
  • 匿名结构体作为返回类型

    下面的代码编译得很好VC 19 00 23506 http rextester com GMUP11493 标志 Wall WX Za 与VC 19 10 25109 0 标志 Wall WX Za permissive 这可以在以下位置检

随机推荐

  • mongoDB中服务器端javascript函数是否存在性能问题?

    在 MongoDB 中运行服务器端 JavaScript 是否存在性能问题 V8 能解决上述性能问题吗 为什么MongoDB 文档建议不要使用服务器端功能 当您询问服务器端 javascript 的可行性时 您首先必须明确您正在谈论哪种服务
  • Chrome 和 Firefox 中的 SVG 文本对齐方式不一致

    我正在 Leaflet js 地图上绘制 SVG 标记图标 这些图标代表气象站 它们根据风向旋转 并以叠加形式显示平均风速 我已经能够让它在 Chrome 中按预期工作 但文本位置在 Firefox 中关闭 左边是 Chrome 55 0
  • SBT中项目间如何共享资源

    我正在工作的项目是一个网络应用程序Lift框架 我们正在使用xsbt 网络插件以及 有一个 核心 项目 其中包含绝大多数功能 我当前的目标是创建两个 分发 项目 将一组不同的类路径资源添加到 核心 项目 问题是我要么 1 无法运行 分发 项
  • 如何在 Visual Studio 中设置条件断点?

    有没有一种简单的方法可以在 Visual Studio 中设置条件断点 如果我只想当变量的值变为某值时才命中断点 我该怎么做 像往常一样设置断点 右键单击它 单击条件
  • UITableViewcornerRadius 在 iOS 上存在边框性能问题

    我有一些关于滚动性能的有趣通知UITableView with cornerRadius borderWidth and borderColor已启用 self tableView layer cornerRadius 10 f self
  • 如何在 Chrome 浏览器的 selenium Webdriver 中设置代理身份验证

    我正在尝试自动化 Web 应用程序 selenium 2 0 webdriver java Web 应用程序当前部署在本地网络上的 UAT 服务器中 我的测试用例正在执行 但我必须手动输入我的代理身份验证详细信息测试执行开始时的 Chrom
  • 在属性文件中逐行添加注释

    这是我想在属性文件中做的事情 Comments about key Value pair 1 Key 1 value 1 Comments about key Value pair 2 Key 2 value 2 Comments abou
  • 数据框的粘贴方法

    我想将数据框输入到粘贴中 并且希望粘贴将其视为我已单独输入该数据框的列 我想这样做的原因是因为我不确定我的数据框将有多少列 这里有 2 个 但我想要一个通用的解决方案来处理任意数量的列 我想要的输出是test1paste在下面的代码中 但我
  • 如果值小于零则返回零[重复]

    这个问题在这里已经有答案了 如果值小于零而不使用 case 语句 是否可以返回零 例如Max a 0 我希望我的代码尽可能简洁 只是为了好玩 DECLARE a INT 3 SELECT COALESCE NULLIF ABS a a 0
  • 执行动态交叉表查询

    我在 Postgres 数据库中实现了这个函数 http www cureffi org 2013 03 19 automatically creating pivot table column names in postgresql 这是
  • .app 文件在 Xcode 4 的新项目中显示为红色(丢失)

    每次我创建 Xcode 4 项目 iPhone 应用程序 cocoa 库 时 产品组下的 app 文件或 a 文件都会显示为红色 丢失 即使我构建了项目 文件仍然是红色的 我的所有设置都是默认的 尝试在设备上构建并运行 我注意到同样的红色文
  • 如何使用 Spring Security 登录页面传递附加参数

    我正在尝试将数据库名称设置为 Spring Security 登录页面的请求输入参数 目前我只获取使用 spring security 检索的用户名SecurityContextHolder getContext getAuthentica
  • 将值映射到色标

    我有一个值列表 应将其绘制到具有特定颜色的地图上 地图的绘制已经完成 但我需要找到一种方法来映射值n代表其价值的颜色 到目前为止 我的一个例子和解决方案是根据min and max然后将它们分配给十六进制颜色0对于最低的和255为最高 这当
  • 我可以根据另一个单元格的状态显示/隐藏 UITableView 中的某个单元格吗?

    我有一个样式为 Grouped 的 UITableView 我用它来在我的应用程序中设置一些选项 我希望此 UITableView 的一个单元格仅根据此 UITableView 的另一个单元格是否激活而显示 如果不是 第一个单元格应该显示
  • 如何更改格式化日期的区域设置?

    我想以特定格式和英文月份名称检索今天的日期 我在用着Format DateValue Now dd mmm yyyy 这给了我05 cze 2013 这是波兰语 我想要得到的是05 Jan 2013 我只对 VBA 解决方案感兴趣 另请提供
  • 忽略 NSURLErrorDomain 错误 -999 在 UIWebView 中不起作用

    我试图避免出现的问题UIWebView的委托返回这样的错误 我在委托实现中有常见的解决方法 我在互联网上的任何地方都看到过 void webView UIWebView webView didFailLoadWithError NSErro
  • 未启用 CarMode 的 Android 夜间模式

    所以我为夜间模式制作了单独的 xml 并将它们保存在layout night 然后我切换到夜间模式 UiModeManager uiManager UiModeManager getSystemService Context UI MODE
  • 是否有一个 Java 库可以“比较”两个对象?

    是否有一个类似于 Unix 程序 diff 的 Java 实用程序库 但是针对对象 我正在寻找可以比较相同类型的两个对象并生成表示它们之间差异的数据结构 并且可以递归比较实例变量中的差异 的东西 我是not寻找文本差异的 Java 实现 我
  • 为什么 gcc 自动矢量化不适用于大于 3x3 的卷积矩阵?

    我已经为卷积矩阵实现了以下程序 include
  • GZipStream 和 DeflateStream 生成更大的文件

    我正在尝试在 C 中使用 deflate gzip 流 但压缩后的文件似乎比以前更大 例如 我压缩了 900ko 的 docx 文件 但它生成了 1 4Mo 的文件 它对我尝试过的每个文件都执行此操作 也许我的做法是错误的 这是我的代码 F