如何判断一个文件是否被其它程序打开 try{ //写}catch(IOException e){ //各种可能无法进行输入输出操作的情况,包括被其它程序锁住该文件。} 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以锁文件但是锁之前无法得知是否之前已经有人占用具体方法是fc1 = new RandomAccessFile(new File("file.txt"), "rw").getChannel();FileLock fl = fc1.tryLock();if (fl != null){ System.out.println("Locked File");} 我的想法是,如果一个文件正在被其它程序使用,本程序再对那个文件进行操作,可能导致信息的丢失。但这种情况是否能够避免呢?也许无法避免。就像:一个.txt文件,用记事本和UltraEdit同时对其进行编辑。用记事本进行编辑存盘后切换到UltraEdit,会提示是否更新文件,点击“是”:UE中编辑的文件会丢失。点击“否”:当UE存盘时,又会导致记事本编辑内容丢失。 当文件非常小的时候可以选择将原文件另存保险的方法是对文件加锁(UE默认不加锁)使用独占锁或只读共享锁,锁住整个文件两个程序对一个文件写共享(不加锁)UE那种解决方法是不错的 急求license相关源码 通过正则表达式提取数据的问题 回复代码怎么卸载框框里啊? 在java applet 中怎么加入音频? 怎么样打包发布java 应用程序 使用lwuit的textfield的输入法控件调用 解决一个 Websphere 上导致 JVM 崩溃的 bug [求助]为什么错误?? 关于用jbuilder7对bmp如何进行跟踪调试的问题,急~! 何处可以获得jmx的开发包,sun没有!!!! JTree 能不能传递隐藏值? 数据库的日期字段用什么类型比较好(日期型还是字符串型)?各有什么特点,为什么有人在数据库表中用字符串型表日期?
但是锁之前无法得知是否之前已经有人占用具体方法是
fc1 = new RandomAccessFile(new File("file.txt"), "rw").getChannel();
FileLock fl = fc1.tryLock();
if (fl != null){
System.out.println("Locked File");
}
本程序再对那个文件进行操作,可能导致信息的丢失。
但这种情况是否能够避免呢?也许无法避免。
就像:一个.txt文件,用记事本和UltraEdit同时对其进行编辑。用记事本进行编辑存盘后切换到UltraEdit,会提示是否更新文件,
点击“是”:UE中编辑的文件会丢失。
点击“否”:当UE存盘时,又会导致记事本编辑内容丢失。
保险的方法是对文件加锁(UE默认不加锁)
使用独占锁或只读共享锁,锁住整个文件
两个程序对一个文件写共享(不加锁)UE那种解决方法是不错的