问题标签 [read-write]
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.
python - 在 Python 中读/写 MS Word 文件
是否可以在不使用 COM 对象的情况下在 Python 中读取和写入 Word(2003 和 2007)文件?
我知道我可以:
但 Word 会将其读取为 HTML 文件而不是本机 .doc 文件。
php - 用 PHP 读/写 MS Word 文件
是否可以在不使用 COM 对象的情况下在 PHP 中读取和写入 Word(2003 和 2007)文件?我知道我可以:
但 Word 会将其读取为 HTML 文件而不是本机 .doc 文件。
multithreading - 读/写同步
我有一个数据结构,它的操作可以分为读操作(例如查找)和写操作(例如插入、删除)。这些操作应该同步,以便:
- 执行写入操作时不能执行读取操作(除非在同一线程上),但是读取操作可以与其他读取操作同时执行。
- 在执行读取或写入操作时无法执行写入操作(除非在同一线程上)。
这种同步如何实现?
该平台是win-api,因此api的同步对象和联锁功能是基本的构建块。
c# - C# CSLA 业务对象困境:只读 vs 读/写
我是一个团队的一员,负责将我们旧的 VB6 UI/COBOL 数据库应用程序改造成现代。在我被录用之前,我决定(主要是关于销售,我敢肯定)在数据库之前重做 UI。所以,现在我们使用 WPF 和 MVVM 取得了很好的效果,到目前为止效果非常好,尤其是使用 CSLA 作为我们的模型层。
但是,由于我们的开发与旧产品的下一个版本并行,我们受到了一些限制。我们无法对对 COBOL 数据库的调用进行任何更改(或最小更改)。到目前为止,这一切都很好,尽管如果您相信的话,可以追溯到 SQL Server 的辉煌岁月。
关于我们的 BO 设计,我遇到了一个特别令人讨厌的障碍,那就是处理列表中返回的“轻量级”业务对象及其“完整”对应项。让我尝试构建一个示例:
假设我们在数据库中有一个带有一堆字段的人员对象。当我们对该表进行搜索时,我们不会返回所有字段,因此我们用这些填充我们的 lite 对象。这些字段可能是也可能不是完整人员的子集。我们可能已经进行了一两次连接以检索特定于搜索的其他一些信息。但是,如果我们想编辑我们的 person 对象,我们必须再次调用以获取完整版本来填充 UI。这给我们留下了两个对象,并试图在 1 个 VM 中处理它们的状态,同时试图在删除、编辑和添加之后保持人员列表在它所在的任何父对象上保持同步。最初,我让我们的 lite person 对象派生自 ReadOnlyBase<>。但是现在我正在处理与完整 BO 列表相同的列表行为,除了半满,半精简,
有没有其他人遇到过并找到解决方案?睡在上面之后,我想出了这个潜在的解决方案。如果我们将完整版和精简版的 BO 包装在另一个 BO 中会怎样,如下所示:
显然,一切都是 CSLA 注册的属性等,但为了简洁起见,它们是那里的字段。在这种情况下, Person 和 PersonList 将包含所有工厂方法。在搜索操作之后,PersonList 将由 PersonLite 成员全部填充且 PersonFull 对象全部为空的 Person 对象填充。如果我们需要获得完整版本,我们只需告诉 Person 对象这样做,现在我们有了 PersonFull 对象,因此我们可以填充编辑 UI。如果要删除 Person 对象,我们可以使用适当的 CSLA 删除程序轻松地执行此操作,同时仍然在所有正在侦听它的 VM 中保持列表的完整性。
所以,我希望这对每个人都有意义,如果有人有不同的解决方案,他们一定会成功采用或批评这个解决方案!
谢谢!
(转自: http ://forums.lhotka.net/forums/thread/35576.aspx )
c - 使用 select 读取和写入同一个套接字 (TCP)
我们正在编写一个客户端和一个服务器来执行(我认为是)非常简单的网络通信。多个客户端连接到服务器,然后服务器应该将数据发送回所有其他客户端。
服务器只是处于阻塞select
循环中等待流量,当流量到来时,将数据发送给其他客户端。这似乎工作得很好。
问题是客户端。为了响应读取,它有时会想要进行写入。
但是,我发现如果我使用:
我的代码将阻塞,直到有新数据要读取。但有时(从另一个线程异步)我会有新数据要写入网络通信线程。所以,我希望我的选择定期唤醒并让我检查是否有数据要写入,例如:
我尝试将选择设置为轮询模式(或非常短的超时):
但发现然后客户端永远不会收到任何传入数据。
我还尝试将套接字 fd 设置为非阻塞,例如:
但这并不能解决问题:
- 如果我的客户
select()
没有struct timeval
,则读取数据有效,但它永远不会解除阻止让我查找可写数据。 - 如果我的客户
select()
有一个timeval
让它轮询,那么它永远不会发出有要读取的传入数据的信号,并且我的应用程序冻结认为没有建立网络连接(尽管所有其他函数调用都已成功)
关于我可能做错了什么的任何指示?是否不可能在同一个套接字上进行读写(我不敢相信这是真的)。
(编辑:正确的答案,以及我在服务器上而不是在客户端上记得的事情,是有第二个 fd_set,并在每次调用 select() 之前复制 master_list:
)
c# - 一项服务附加到文件,另一项服务截断文件
我有一项服务可以控制 RS-232 设备并将操作记录到文件中。我要编写另一个服务,它将逐行读取日志文件并在数据库上运行一些查询,然后删除所有日志。
我担心的是文件上的读写冲突。例如,记录器服务打开文件以追加新行,同时复制器服务打开文件并写入“”以截断其内容。
有什么建议可以澄清我的情况吗?
windows-7 - Windows 7 徽标客户端要求是否允许应用程序在注册表 (HKLM) 中读取/写入?
我阅读了 Windows 7 客户端要求,它们似乎并没有禁止写入注册表(本地机器密钥)。
我有一个 C# .exe 应用程序,它读取/写入 HKLM/Software/Company/Etc 中的值(它包括一个清单文件并以标准用户身份运行)。
当我部署我的应用程序时,我必须告诉安装程序创建密钥 HKLM/Software/Company/Etc 并以编程方式授予读/写权限,以便应用程序在运行它的用户不是管理员时不会抛出拒绝访问异常。
这是一个好习惯吗?如果没有,是否有更好的方法(使用当前用户密钥除外)。
c - 在 C 中保持更改
我正在开发一个类似数据库的应用程序,它存储一个包含以下内容的结构:
如您所见,我使用链表来存储信息。但是当用户退出程序时问题就开始了。我希望将信息存储在某个地方。所以我正在考虑使用 fopen 将链表存储在永久或临时文件中,然后,当用户启动程序时,检索链表。这是将链表打印到控制台的方法:
因此,我正在考虑修改此方法以通过 fprintf 而不是 printf 打印信息,然后程序将从文件中获取信息。有人可以帮助我如何读写这个文件吗?它应该是什么类型的文件,临时的还是常规的?我应该如何格式化文件(就像我想先有键,然后是值,然后是换行符)?
android - 读取/写入数据到服务器、ftp 或网站
我正在编写一个应用程序,它会定期将信息发送到远程服务器,然后将有关其他用户的相关信息从该服务器返回到本地数据库。处理发送此信息(即:XML 或二进制)并将其写入远程服务器的最佳方式是什么。
此外,我如何确保,当 500 多个用户的数据一次到达服务器或 FTP(或更好的替代方案?)时,适当的字段会被覆盖或添加,而不会跳过任何内容或覆盖整个内容?谢谢您的帮助。
.net - 提高 MS Excel 书写的性能
我在从 MS-Excel 单元读取/写入数据时遇到性能问题。我正在使用 MS Excel 11.0 对象库通过 VB.NET 实现自动化。
目前读取/写入 Excel 文件需要花费太多时间。(读取 1000 行 10 分钟 :( )。似乎逐个单元格的读写方法效率不高。有没有办法使用批量操作读取/写入数据?