首页 > 系统相关 >windows 操作文件

windows 操作文件

时间:2023-12-26 14:35:55浏览次数:35  
标签:文件 windows Windows 内存 进程 操作 打开 记事本

 

 

 

Windows操作系统允许用户同时打开同一文本文件的多个实例,主要原因是记事本程序的设计与操作系统的文件访问机制。

首先,我们先来看记事本程序的设计。当你在记事本中打开一个文件时,它会将文件的内容读入内存,并在内存中进行编辑。这意味着,实际上你在编辑的不是文件本身,而是文件的一个内存副本。只有当你保存文件时,记事本才会将内存中的内容写回文件。这就是为什么你可以在不同的记事本进程中打开同一文件进行编辑。每个进程都有自己的内存副本,它们互不干扰。

其次,我们来看Windows操作系统的文件访问机制。Windows默认的文件共享模式允许多个进程同时读取同一文件。只有当一个进程试图写入文件时,其他进程才不能访问该文件。因此,只要你不保存文件,就可以在多个记事本进程中打开同一文件。

需要注意的是,这种设计方式虽然方便,但也有一定的风险。如果你在两个记事本进程中同时编辑同一文件,并且同时保存,那么最后保存的版本将会覆盖先前保存的版本,可能导致数据丢失


链接:https://www.zhihu.com/question/602494045/answer/3044586265

notepad 并没有占用文件,打开后,copy到内存,就关闭了。可以打开后,移动文件,试下。 其他程序占用的情况下(一直打开的情况下),无法修改名字,无法移动。  


与 Windows 不同, Linux 允许一个文件在写入的时候被读取(或者在被读取的时候写入),本文就来探索一下多个进程同时读写同一个文件会产生的效果

 

参考:

https://www.zhihu.com/question/602494045/answer/3044586265

 

标签:文件,windows,Windows,内存,进程,操作,打开,记事本
From: https://www.cnblogs.com/rebrobot/p/17928045.html

相关文章

  • 运行js文件,会弹出一个python解释器的界面,怎么解决呢?
    大家好,我是皮皮。一、前言前几天在Python白银交流群【菜......
  • Shell脚本实现SFTP传输文件,通过密码形式
    读取SFTP连接信息cat读取文件内容grepserver:查找文件内容中包含server字符的,行内容awk-F‘=’:实现字符串分割,分割字符’‘=’${print$2}:其中$2表示切割后数组中第几值base-d:解码base64字符串,转为可识别字符串#sftp配置文件sftp_conf_path=/etc/sftp.conf#获取sft......
  • cython,将py文件编译成pyd/so文件
    在windows下使用cythonize可以将py文件编译成pyd,这样就完成了初步的python代码加密工作使用前需要先安装CythonpipinstallCython然后对py文件执行命令cythonize-i-3--directivealways_allow_keywords=truexxx.py这里有一个要注意的点:--directivealways_allow_keywor......
  • 写一个MATLAB脚本删除一个.m文件的所有注释,输出到一个新.m文件,文件名加上_modified后
    请注意,这个脚本仅处理了最简单的情况,真正的Matlab代码可能包含更复杂的结构,如多行字符串、嵌套的字符串、转义字符等,处理这些情况可能需要更复杂的逻辑。clearall;closeall;clc;%Specifytheinput.mfilenameinputFileName='originalScript.m';outputFileName=[inpu......
  • 腾讯QQ9正式发布!4年来最大更新 安卓/iOS/Windows都能下载了
    12月20日消息,今日,腾讯宣布,QQ9正式上线。距离上一次QQ8版本已经过去了4年。据官方介绍,本次版本更新,QQ9采用了全新的QQNT技术架构驱动,性能升级,交互体验更加流畅。全新界面,流畅社交。首先是UI界面全面优化,QQ启动页、登录页、消息列表页、关于页等页面UI焕彩上线。同时,聊天、设置界面顶......
  • DOM操作之元素查找
    通常我们操作一个元素节点前都需要查找到这个元素,查找到这个元素有两种方式。使用选择器函数查找元素通过元素的关系属性来查找元素使用选择器函数查找getElementById通过节点元素的ID得到此节点<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8">......
  • LiveGBS流媒体平台GB/T28181常见问题-配置国标流媒体服务日志文件个数及记录时长配置l
    LiveGBS流媒体平台GB/T28181常见问题-如何配置国标流媒体服务日志文件个数及记录时长1、日志文件2、配置日志文件个数及记录时间3、配置日志文件路径4、相关问题4.1、如何关闭信令日志?5、搭建GB28181视频直播平台1、日志文件部署LiveGBS后,LiveCMS和LiveSMS的解压目录下都个l......
  • Windows下GetLastError()返回值
    通常,我们在调用windows系统API函数时,不可避免地出现调用失败的情况,为了及时地捕获异常错误信息,需要在调用接口返回失败的地方调用GetLastError(),例如:HANDLEhFileHandle=CreateFileW(filepath,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,0,NULL);if(hFileHandle......
  • Windows下的Redis启动报错Redis service failed to start解决方法
    报错原因:Redis服务没有找到log文件解决方法在Redis安装目录下打开redis.windows-service.conf文件搜索logfile,找到logfile存放目录,一般默认为Logs/redis_log.txt在Redis安装目录创建Logs文件夹,在Logs文件夹下创建redis_log.txt文件重新启动即可解决......
  • milvus的delete操作
    milvus的delete操作milvus版本:v2.3.2milvus支持delete操作。使用pythonsdk代码如下:frompymilvusimport(connections,Collection,)print("startconnectingtoMilvus")connections.connect("default",host="192.168.230.71",port=&qu......