File 使用文件的注意事项

File 使用文件的注意事项,file,dos-donts,File,Dos Donts,我正在为编程课上的大三学生准备一个关于文件的讲座。我想详细说明的一点是关于文件的良好实践 在任何编程语言中使用文件时,需要记住什么?记住在使用完文件后关闭它们。记住在使用完文件后关闭它们。文件总是不安全的 与任何其他输入一样,文件可能会增加安全风险。此外,它的格式可能不正确,这可能是因为它是由过时的应用程序创建的,也可能是因为最终用户试图自己修改它们 要么完全忽略此类文件,要么尽可能多地获取并丢弃其余文件。文件总是不安全的 与任何其他输入一样,文件可能会增加安全风险。此外,它的格式可能不正确,这

我正在为编程课上的大三学生准备一个关于文件的讲座。我想详细说明的一点是关于文件的良好实践


在任何编程语言中使用文件时,需要记住什么?

记住在使用完文件后关闭它们。

记住在使用完文件后关闭它们。

文件总是不安全的 与任何其他输入一样,文件可能会增加安全风险。此外,它的格式可能不正确,这可能是因为它是由过时的应用程序创建的,也可能是因为最终用户试图自己修改它们

要么完全忽略此类文件,要么尽可能多地获取并丢弃其余文件。

文件总是不安全的 与任何其他输入一样,文件可能会增加安全风险。此外,它的格式可能不正确,这可能是因为它是由过时的应用程序创建的,也可能是因为最终用户试图自己修改它们


要么完全忽略这样一个文件,要么尽可能多地获取并丢弃其余的文件。

在使用完文件后,始终关闭该文件并处置所有资源


在二进制文件上使用读取二进制文件,在文本文件上使用读取二进制文件。我不记得我曾经帮助过那些代码没有读取整个文件的人,因为他们正在读取一个文本结构的二进制文件,文件中间有一个^ z。 在二进制文件上使用读取二进制文件,在文本文件上使用读取二进制文件。我不记得我曾经帮助过那些代码没有读取整个文件的人,因为他们正在读取一个文本结构的二进制文件,而文件正好中间有一个^ z。 如果没有,请删除临时文件 我不再需要它们了 不要:

不要在用户界面中创建随机文件 目录,例如我的 文件。使用临时/程序 文件夹 不要将敏感信息保存在纯文本文件中 做:

如果没有,请删除临时文件 我不再需要它们了 不要:

不要在用户界面中创建随机文件 目录,例如我的 文件。使用临时/程序 文件夹 不要将敏感信息保存在纯文本文件中
总是装上一只抓伤猴子


总是装上一只抓伤猴子

可以将文件视为包含一组记录,每个记录的长度固定或以分隔符结尾

文件通常针对顺序访问而不是随机访问进行优化。很难将数据插入到文件的中间,而且像盒式磁带一样线性处理文件通常比像无序播放模式下的CD那样随机处理文件要快

随机访问文件通常包含固定长度的记录,其中大多数记录包含空白,这使得它们比顺序访问文件大

档案是喜怒无常、变化莫测的生物。它们可以在访问之间更改长度、消失、更改访问权限等,因此请仔细验证您的操作并检查返回代码

如果从开始的尾部读取文件并写入到结束的头部,则可以将文件用作缓冲区

刷新缓冲区

既然还没有人有那么差的品味说出来:这应该能让你的学生掌握这个话题

可以将文件视为包含一组记录,每个记录的长度固定或以分隔符结尾

文件通常针对顺序访问而不是随机访问进行优化。很难将数据插入到文件的中间,而且像盒式磁带一样线性处理文件通常比像无序播放模式下的CD那样随机处理文件要快

随机访问文件通常包含固定长度的记录,其中大多数记录包含空白,这使得它们比顺序访问文件大

档案是喜怒无常、变化莫测的生物。它们可以在访问之间更改长度、消失、更改访问权限等,因此请仔细验证您的操作并检查返回代码

如果从开始的尾部读取文件并写入到结束的头部,则可以将文件用作缓冲区

刷新缓冲区


因为还没有人不喜欢这样说:这应该能让你的学生掌握这个主题。

如果你在编写服务器端或并发代码,请密切注意文件锁定:太少会导致数据损坏,太多会导致应用程序死锁

如果您正在编写服务器端或并发代码,请密切注意文件锁定:太少会导致数据损坏,太多会导致应用程序死锁

Vista在程序目录中有新的权限内容,因此创建文件的程序在安装到Vista上时可能会有问题,易于修复,但仍然会令人讨厌。

Vista在程序目录中有新的权限内容,因此创建文件的程序在安装到Vista上时可能会有问题,易于修复,但仍然令人讨厌

不要在每次写入后刷新。 不要担心写得太小会让人失望 nd读取。操作系统非常擅长缓冲这些数据。不要试图重新设计自己的缓冲区。在最好的情况下,它什么也做不了。最糟糕的是,它实际上会对操作系统的缓冲起作用。 不要创建包含数千个文件的目录。 如果有变化,人们会希望查看或编辑数据。确保它是可读的。 在考虑使用自己的格式之前,请考虑XML。 不要在每次写入后刷新。 不要担心写小的东西和读小的东西。操作系统非常擅长缓冲这些数据。不要试图重新设计自己的缓冲区。在最好的情况下,它什么也做不了。最糟糕的是,它实际上会对操作系统的缓冲起作用。 不要创建包含数千个文件的目录。 如果有变化,人们会希望查看或编辑数据。确保它是可读的。 在考虑使用自己的格式之前,请考虑XML。
我发现初级程序员通常缺乏直觉,或者在访问文件的速度方面学到了错误的经验教训

非常新的程序员认为文件速度非常快,需要帮助理解为什么每次从未缓冲的文件中读取一个字节是个坏主意。类似地,访问目录信息的速度可能非常慢,如果可能,应该缓存

不幸的是,一些更有经验的程序员吸取了错误的教训,认为所有东西都需要缓存在RAM中,否则速度会太慢。现代操作系统具有非常复杂的磁盘缓存,因此第二次访问文件的同一部分可能要快得多


最后,交互式程序应该在另一个线程中执行所有文件操作,这样当磁盘忙时,应用程序不会慢到爬行或停止工作,或者当远程卷暂时不可用时。

我发现初级程序员在访问文件的速度方面往往缺乏直觉或经验教训不正确

非常新的程序员认为文件速度非常快,需要帮助理解为什么每次从未缓冲的文件中读取一个字节是个坏主意。类似地,访问目录信息的速度可能非常慢,如果可能,应该缓存

不幸的是,一些更有经验的程序员吸取了错误的教训,认为所有东西都需要缓存在RAM中,否则速度会太慢。现代操作系统具有非常复杂的磁盘缓存,因此第二次访问文件的同一部分可能要快得多


最后,交互式程序应该在另一个线程中执行所有文件操作,这样当磁盘忙时,或者当远程卷暂时不可用时,应用程序不会慢到爬行或停止工作。

我认为应该说文件是连续的,很难将数据插入文件的中间。如果底层存储介质不可用,则文件是否为随机访问是一个属性。通常情况下,fseek工作得很好。在中间插入困难的是它们的逻辑连续性。好点;我最初的想法太模糊了。我希望编辑更清晰-谢谢!我想你应该说文件是连续的,很难在文件中间插入数据。如果底层存储介质不可用,则文件是否为随机访问是一个属性。通常情况下,fseek工作得很好。在中间插入困难的是它们的逻辑连续性。好点;我最初的想法太模糊了。我希望编辑更清晰-谢谢!主目录中的文件是特定于平台的。我知道这在Windows中是多么不受欢迎,但在*nix系统中,dotfiles被大量用于这种类型的东西。home目录中的文件是特定于平台的东西。我知道这在Windows中是多么不受欢迎,但是在*nix系统中,dotfiles被大量用于这类事情。