社区
Java SE
帖子详情
我在我的程序中要读取一个文件的内容,在读取的时候有可能其他的程序(该程序不可修改)会对文件进行写操作。怎样才不会让进行写操作的程序访问这个文件时候被拒绝
polarishb
2008-04-21 03:39:12
我在我的程序中要读取一个文件的内容,在读取的时候有可能其他的程序(该程序不可修改)会对文件进行写操作。怎样才不会让进行写操作的程序访问这个文件时候被拒绝,或者说我的这个程序怎么保证2者间不出现冲突
...全文
336
32
打赏
收藏
我在我的程序中要读取一个文件的内容,在读取的时候有可能其他的程序(该程序不可修改)会对文件进行写操作。怎样才不会让进行写操作的程序访问这个文件时候被拒绝
我在我的程序中要读取一个文件的内容,在读取的时候有可能其他的程序(该程序不可修改)会对文件进行写操作。怎样才不会让进行写操作的程序访问这个文件时候被拒绝,或者说我的这个程序怎么保证2者间不出现冲突
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
32 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
q1531
2008-04-26
打赏
举报
回复
我个人觉得这个问题,除了修改程序使他们同步以外,就是把数据放到数据库里面。让数据库来同步。
polarishb
2008-04-22
打赏
举报
回复
[Quote=引用 21 楼 bestseal 的回复:]
文件锁阿
FileLock lock = new FileOutputStream("d:\\a.txt").getChannel().tryLock();
[/Quote]
我要的是非独占打开读取
怎么能去加锁呢
bestseal
2008-04-22
打赏
举报
回复
文件锁阿
FileLock lock = new FileOutputStream("d:\\a.txt").getChannel().tryLock();
jiazhengjing
2008-04-22
打赏
举报
回复
读取的程序一点都不能修改。
我想只能从文件入手了,监控它的状态,应该不简单,不懂。
polarishb
2008-04-22
打赏
举报
回复
[Quote=引用 18 楼 q1531 的回复:]
有些文件本身就没办法读取的,比如像SAM,NTUSER.DAT这样被锁定的文件。
[/Quote]
我上面说了,可以读取的,只是我在读取的时候原来的文件不能去写入了
所以我希望读取的时候以非独占方式读取
q1531
2008-04-22
打赏
举报
回复
有些文件本身就没办法读取的,比如像SAM,NTUSER.DAT这样被锁定的文件。
polarishb
2008-04-22
打赏
举报
回复
不知道
RandomAccessFile bfin=new RandomAccessFile(filename,"r");
这样行不行
polarishb
2008-04-22
打赏
举报
回复
我是可以读文件的,只是当我在读的时候原来那个程序无法写
所以要从现在这个程序入手,让他读的时候不独占打开文件
findself
2008-04-22
打赏
举报
回复
那只有看你那写的程序的写的方法加锁了没,如果没加,就直接读文件。
panxuan
2008-04-22
打赏
举报
回复
使用file.canWrite()判断。
polarishb
2008-04-22
打赏
举报
回复
没人解决的了么?
polarishb
2008-04-22
打赏
举报
回复
你看清要求啊,写文件的程序是不能改的
guoxiaopeng1982
2008-04-22
打赏
举报
回复
楼主他们说的线程同步就可以实现了,你用一个临时空间,临时空间的get和set方法必须是线程同步的,然后你写文件的线程调用set方法,你取文件的线程调用get方法………………这样就解决问题了………………
polarishb
2008-04-22
打赏
举报
回复
[Quote=引用 27 楼 wopopo 的回复:]
这个可能是你得那个写的程序进行了独占锁定来写,或者它的写的方式不同导致的。
你可以尝试在那个写的程序打开工作的时候,copy这个文件的一个副本看看能否copy成功,如果能copy成功,那用普通的读取的方法还是可以read的
[/Quote]
那样不还是打开文件,然后一行行的读取里面的内容吗?和我读取不是一样
难道有其他复制txt的方法
wopopo
2008-04-22
打赏
举报
回复
这个可能是你得那个写的程序进行了独占锁定来写,或者它的写的方式不同导致的。
你可以尝试在那个写的程序打开工作的时候,copy这个文件的一个副本看看能否copy成功,如果能copy成功,那用普通的读取的方法还是可以read的
bestseal
2008-04-22
打赏
举报
回复
[Quote=引用 22 楼 polarishb 的回复:]
引用 21 楼 bestseal 的回复:
文件锁阿
FileLock lock = new FileOutputStream("d:\\a.txt").getChannel().tryLock();
我要的是非独占打开读取
怎么能去加锁呢
[/Quote]
非独占打开读取 ?不明白你什么需求。。。
oxoxo
2008-04-22
打赏
举报
回复
一高手说:用windows api/jni的方法可以
比方说,你可以设置这边往一个文件里写时,另一方也可以同时写
joejoe1991
2008-04-22
打赏
举报
回复
我感觉不能做到。
期待高手回答。。。。
findself
2008-04-22
打赏
举报
回复
[Quote=引用 16 楼 polarishb 的回复:]
我是可以读文件的,只是当我在读的时候原来那个程序无法写
所以要从现在这个程序入手,让他读的时候不独占打开文件
[/Quote]
应该-->所谓多线程是分时间片来执行的,也就是说在读的时候只有一个读的线程,等被调度后才让写的线程进入,只不过他们在同一个资源(对象)上操作,并不是“并行”的吧??!!
这是我的理解,不能解决楼主的问题,期待高手出现,学习学习。
polarishb
2008-04-21
打赏
举报
回复
前面说过了,写文件的那个程序是不可修改的
只能试试看现在读文件的这个程序怎样才能不独占打开呢
加载更多回复(11)
fdm下载器12345
fdm下载器12345
DeerFlow 系列教程 skill技能-市场报告编
写
配套我的教程:《DeerFlow 系列教程 第十八篇 | 实战案例三——用 DeerFlow 构建自定义 AI 工作流》
使用 PMU(相量测量单元)
进行
电力系统状态估计【IEEE-14、IEEE30节点】(Matlab代码实现)
内容
概要:本文系统介绍了利用相量测量单元(PMU)
进行
电力系统状态估计的技术原理与实现方法,并基于IEEE-14和IEEE-30标准节点系统完成了Matlab代码仿真。通过引入PMU提供的高精度同步相量数据,显著提升了状态估计的准确性与实时性,适用于现代智能电网的实时监控与动态分析。文中详细阐述了状态估计算法的核心流程,包括测量模型构建、雅可比矩阵计算及加权最小二乘法(WLS)求解过程,展示了在典型电力网络结构下的仿真效果与应用潜力。; 适合人群:具备电力系统分析基础知识和一定Matlab编程能力的高校研究生、科研人员以及从事电力系统自动化、智能电网监控等相关工作的工程技术人员。; 使用场景及目标:① 深入理解基于PMU的电力系统状态估计基本理论与关键技术;② 在Matlab平台上复现并调试IEEE标准系统的状态估计
程序
,用于教学演示、科研验证或工程项目前期技术论证;③ 为后续研究广域测量系统(WAMS)、实时状态监测与智能调度控制等高级应用提供算法基础与代码支撑。; 阅读建议:建议读者结合电力系统状态估计相关教材,按照文档逻辑顺序逐步运行和分析Matlab代码,重点掌握PMU量测建模、稀疏矩阵处理与迭代求解等关键环节,通过
修改
参数和拓扑结构加深对算法鲁棒性与适应性的理解。
BO-NARX贝叶斯优化非线性自回归外生模型股票价格预测,MATLAB代码
BO-NARX贝叶斯优化非线性自回归外生模型股票价格预测,MATLAB代码
读取
股票日线数据(日期、成交量、开盘价、最高价、最低价、收盘价),按8:2划分训练集与测试集; 将所有特征(成交量、开高低收)
进行
Z-score标准化(基于训练集均值和标准差); 使用贝叶斯优化搜索最优超参数组合(滞后阶数、隐藏层神经元数、正则化参数); 基于最优超参数训练最终NARX神经网络模型; 在测试集上预测收盘价,并计算MSE、RMSE、MAE、MAPE四个误差指标; 绘制实际值与预测值对比曲线及残差图。
节奏坦克V3-D数字播放器 旧1.3版本固件升级/降级下载
节奏坦克V3-D数字播放器的固件升级主要通过将固件
文件
拷贝至TF卡,并在设备系统内选择升级完成。不同固件版本在音质表现上存在差异,用户可根据个人听感偏好选择升级或降级。 固件升级/降级通用步骤 获取固件
文件
:从可靠来源下载所需版本的固件
文件
,通常为.UPT格式。 准备TF卡:将TF卡通过读卡器连接至电脑,确保其为FAT32格式。将下载的.UPT固件
文件
拷贝至TF卡的根目录下。 执行升级
操作
:将TF卡插入V3-D播放器。在播放器的系统设置菜单中找到“系统升级”或类似选项,选择从“TF卡”或“存储卡”
进行
升级,随后按屏幕提示完成
操作
。 等待完成:升级过程中请勿断电或取出TF卡。设备升级完成后通常
会
自动重启。 主要固件版本听感差异 不同固件版本对V3-D的声音调校有所不同,以下是基于用户反馈的概括: 1.2版本固件:声场相对开阔,声音弥散感较强,低频量感稍弱,整体听感更为通透。 1.3版本固件:人声结像更靠前、贴耳,低频量感增强,但部分用户反馈声场规模感有所缩小,极高频略有削减,
可能
导致搭配某些耳机时齿音更明显。 注意:固件升级或降级均存在一定风险,
操作
前请务必备份重要数据。部分用户反馈通过设备“网络升级”功能时
可能
出现校验失败的情况。 3 若对当前版本满意,无需刻意升级。从1.0版本升级至1.2版本主要为功能优化与漏洞修复,无调音变化。
Java SE
62,623
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章