问题标签 [file-io]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
1108 浏览

c++ - 设计:大型存档文件编辑器,文件映射

我正在用本机和托管 C++ 为 4GB+ 的大型存档文件(见下文)编写一个编辑器。

为了访问文件,我像任何理智的人一样使用文件映射(见下文)。这对于读取数据非常有用,但是在实际编辑存档时会出现问题。文件映射不允许在访问文件时调整文件大小,所以我不知道当用户想要在文件中插入新数据时我应该如何进行(这将超过文件的原始大小,当它被映射时。)

我应该每次都重新映射整个事情吗?那肯定会很慢。但是,我希望通过独占文件访问来保持编辑器的实时性,因为这大大简化了编程,并且不会让文件在被修改时被其他应用程序搞砸。我不想在编辑器上花费永恒的时间;它只是我正在从事的实际项目的一个简单的开发工具。

所以我想听听你们是如何处理类似情况的,还有哪些其他存档软件,尤其是其他游戏可以解决这个问题?

澄清:

  • 这不是文本文件,我正在编写特定的二进制存档文件格式。我的意思是在目录中包含许多其他文件的大文件。出于多种原因,自定义存档文件在游戏使用中非常常见。对于我的格式,我的目标是与Valve Software 的 GCF 格式类似(但更简单)的结构- 我本来会使用 GCF 格式,但不幸的是,尽管有很多很棒的实现,但该格式没有编辑器用于阅读它们,例如HLLib

  • 访问文件必须快速,因为它旨在存储游戏资源。所以它不是数据库。数据库文件将包含在其中,以及 GFX、SFX 等文件。

  • 这里所说的“文件映射”是 Windows 平台上的一种特定技术,它允许通过创建部分文件的“视图”来直接访问大文件,请参见此处:http: //msdn.microsoft.com/en-us /library/aa366556(VS.85).aspx - 这种技术允许最小的延迟和内存使用,并且是访问任何大文件的明智之举。所以这并不意味着将整个 4GB 文件读入内存,恰恰相反。

0 投票
1 回答
500 浏览

file-io - 如何知道应用程序试图访问哪些文件?

我如何知道应用程序试图访问哪些文件和注册表项?

0 投票
8 回答
3780 浏览

vb6 - VB6,文件不存在,如何优雅处理?

我正在测试一个检查文件是否存在于网络中的应用程序。在我的测试中,我故意拔掉网络插头,这样就找不到文件了。问题是这会导致我的应用程序在至少 15 秒内无响应。我在 VB6 中同时使用了 FileExists() 和 GetAttr() 函数。有谁知道如何解决这个问题?(不,我不能停止使用 VB6)

谢谢,查理

0 投票
3 回答
1225 浏览

flash - 是否可以使用 Actionscript 仅读取文件的第一行?

我有一个基于 PHP 的站点,我们允许用户上传一个逗号分隔的数据文本文件,以便由某些服务器端脚本导入。但是,有时我们需要调整上传数据的列顺序,如果我们能够在上传之前识别 CSV 文件中的列,将会非常有帮助。

我能想到的访问本地文件 I/O 的唯一方法是使用 Java 插件或嵌入式 Flash 脚本,我更喜欢后者。Flash 中是否有任何方法可以选择本地硬盘驱动器上的文本文件,然后使用 ActionScript检查第一行(在此示例中对应于列标题)?

有时这些文件可能大于 100 MB,因此将整个文件加载到内存中,然后将除第一行之外的所有文件都扔掉可能无法有效地工作,所以我想知道 ActionScript 中是否有语法来限制读取的数据量一次。

0 投票
2 回答
14780 浏览

c# - 我可以简单地“读取”正在使用的文件吗?

我正在尝试使用 StreamReader 读取文件,但它始终被另一个进程使用,所以我收到此错误:

该进程无法访问文件 '\arfjwknasgmed17\C$\FLAG CONDITION\CP-ARFJN-FLAG.XLS',因为它正被另一个进程使用。

有没有办法可以在不复制的情况下阅读它?还是这是我唯一的选择?

0 投票
11 回答
692 浏览

windows - I/O 性能健全性检查 - 检查文件是否存在

您是否知道在打开和发送文件之前检查文件是否存在任何严重的性能问题?其上下文是一个通过 ASP 页面动态提供文件的 Web 应用程序。我被告知没有检查文件是否存在,因为数据库存储了这些信息并且不应该是错误的。当然,有时由于多种原因是错误的,所以我们最终不会发回任何东西,让用户不满意。

我的直觉是检查文件是否存在是如此便宜,以至于您不必担心,但有人告诉我不然。如果有帮助的话,我们的存储解决方案是一个非常强大的解决方案(不仅仅是 Web 服务器上的 IDE 驱动器)。我的问题基本上是:我的直觉正确吗?

谢谢!

注意:这些文件永远不会被删除。他们必须出问题才能失踪,但这每周会发生几次。另外,我想检查文件是否存在的原因是因为我可以返回磁盘上的备用资产,所以我希望能够在一个地方拥有该逻辑,而不是处理捕获异常并处理在那种情况下。

0 投票
3 回答
58648 浏览

matlab - 在 Matlab 中读取和写入二进制文件

我对matlab的了解只是在需要知道的基础上,所以这可能是一个基本的问题。然而它来了:

我有一个包含以二进制格式存储的数据(16 位整数)的文件。如何将它读入matlab中的向量/数组?如何将这些数据写入 matlab 中的文件?在读取/写入大量数据(千兆字节)时,是否有任何智能调整来提高性能速度?

0 投票
16 回答
29123 浏览

perl - 在 Perl 中将文件转换为字符串的最佳方法是什么?

的,有不止一种方法可以做到,但必须有一种规范或最有效或最简洁的方法。我会添加我知道的答案,看看有什么渗透到顶部。

需要明确的是,问题是如何最好地将文件的内容读入字符串。每个答案一个解决方案。

0 投票
1 回答
367 浏览

file-io - gmail如何处理文件附件?

当我在 gmail 撰写屏幕中选择要附加的文件时,它会自动将文件上传到服务器而无需刷新页面。我通过 FireBug 查看了 html 源代码,并没有看到 iframe。他们如何上传附件?

谢谢。

0 投票
14 回答
97330 浏览

c# - 在 C# 中验证文件中的图像

我正在从文件中加载图像,并且我想知道如何在从文件中完全读取图像之前对其进行验证。

当 image.jpg 不是真正的 jpg 时,就会出现问题。例如,如果我创建一个空文本文件并将其重命名为 image.jpg,则在加载 image.jpg 时会抛出 OutOfMemory Exception。

我正在寻找一个函数来验证给定图像的流或文件路径的图像。

示例函数原型