`
061041033
  • 浏览: 38872 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

java判断一个文件是否正在被其他程序使用(调用)?

阅读更多
使用renameTo 。
可以试一下以下两个程序:

先运行这个,让一个文件处于使用状态:
import java.io.*;

public class FileLocker {
        public static void main (String args[]) {
                try {
                        File f = new File("a.txt");
                        f.createNewFile();
                        FileReader fr = new FileReader(f);
                        while (true);
                } catch (Exception e) {
                        e.printStackTrace();
                }
        }
}

然后不要关掉,打开另一个窗口,运行下面这个:
import java.io.*;

public class FileLockChecker {
        public static void main (String args[]) {
                try {
                        File f = new File("a.txt");
                        File f1 = new File("b.txt");
                        f.renameTo(f1);
                        if (f.exists())
                                System.out.println("File in use.");
                        else
                                f1.renameTo(f); //改回来
                } catch (Exception e) {
                        e.printStackTrace();
                }
        }
分享到:
评论
1 楼 m635674608 2012-12-21  
在winods上行,到unix上就不行了。

相关推荐

    java中两种方式调用其他.exe可执行程序

    在 Java 1.6 及更高版本中,`Desktop` 类提供了一个 `open` 方法,可以用来打开其他.exe 可执行程序。 例如,在上面的代码中,我们可以看到使用 `Desktop` 类来打开注册表编辑器(regedit.exe)的代码: ```java ...

    bat文件调用java程序

    在同一目录下创建一个批处理文件(BAT文件),用于调用Java的`java`命令执行JAR。打开记事本,输入以下内容: ``` @echo off java -jar TestDemo.jar pause ``` 这里的`@echo off`是用来关闭命令行的回显,...

    用java程序调用ffmpeg执行视频文件格式转换flv

    在本文中,我们将深入探讨如何使用Java程序调用FFmpeg执行视频文件格式转换,特别是将非FFmpeg原生支持的格式转换为FLV格式。FFmpeg是一个强大的多媒体处理工具,支持多种视频、音频格式的编码、解码和转换。在这个...

    java判断本地文件是否存在.txt

    根据题目给出的部分内容,我们可以构建一个完整的示例程序来演示如何使用`exists()`方法判断文件是否存在: ```java import java.io.File; public class FileExistsCheck { public static void main(String[] ...

    java程序判断在文件中找出.mp3格式的文件

    下面是一个简单的Java程序,它会在指定的目录下查找所有的.mp3文件: ```java import java.io.File; import java.io.FileFilter; public class Mp3Finder { public static void main(String[] args) { File dir ...

    java源码包---java 源码 大量 实例

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...

    java实现一个目录下全部文件复制到另一目录

    `Files.copy()`可能会抛出`IOException`,这通常是因为磁盘空间不足、文件正在被其他程序使用等原因。因此,我们需要捕获这些异常并适当地处理,例如记录错误信息或者停止复制过程。 此外,对于大文件的复制,可能...

    java调用shell(包含有参数的调用)

    总之,Java调用Shell脚本是一个有效的方法来在Java程序中实现复杂的Linux环境下的操作,这种技术尤其适用于需要进行系统级操作和自动化任务的场景。掌握这一技术可以帮助开发者更好地实现跨平台的功能,尤其是在开发...

    java文件夹及文件复制

    如果源是一个文件,就使用输入输出流复制文件内容;如果是一个文件夹,就递归处理其子项。在实际应用中,你可能还需要添加错误处理和优化逻辑,比如检查是否可以覆盖目标文件,或者跟踪复制进度等。 以上就是关于...

    Java编写的判断年份的程序

    在Java编程语言中,判断一个年份是否为闰年是一项基础任务,这通常涉及到日期和时间的处理。闰年是指能被4整除但不能被100整除的年份,或者能被400整除的年份。下面我们将深入探讨这个Java程序的相关知识点。 1. **...

    java 调用存储过程

    假设你有一个名为`sp_get_customer_info`的存储过程,接收一个参数`customer_id`并返回一个结果集,你可以如下所示调用它: ```java import java.sql.CallableStatement; import java.sql.ResultSet; public class...

    shell 脚本调用Java类

    这个脚本首先通过`command -v java`检查Java是否在PATH环境变量中,然后使用`java`命令执行Java程序。`JAVA_CLASS_PATH`指定了类路径,这里我们设置为当前目录,因为`HelloWorld.class`就在当前目录下。`MAIN_CLASS`...

    定时调用java程序监控webservice或系统可用性

    创建一个Logger实例,设置合适的日志级别(如INFO或DEBUG),然后在监控过程中调用`log`方法将相关信息写入日志文件。确保日志文件的滚动和清理策略,以免占用过多磁盘空间。 5. **异常处理** 在执行监控任务时,...

    调用WinRar实现加密压缩文件和解密解压缩文件

    总的来说,"调用WinRar实现加密压缩文件和解密解压缩文件"是一个涉及文件压缩、加密、程序间通信等多个IT领域的实践课题。通过掌握这些知识,开发者可以为用户提供更加安全、便捷的数据管理方案。

    Java编程输入两个年月日,(1)判断两个日期是否相同,并且将相差的天数显示出来;(2)将日期后推或前推N天,并将该日期输出。

    综上所述,这个Java程序主要实现了两个功能:一是判断两个给定日期是否相同及计算它们之间的天数差;二是将给定日期向前或向后调整一定数量的天数。程序的核心是`DateType`类的设计与实现,它包含了日期的创建、打印...

    编写一个java应用程序,将一个包含多个子目录和文件

    在Java编程中,创建一个应用程序来复制包含多个子目录和文件的目录是一项常见的任务,它涉及到文件和目录操作。下面我们将详细讨论这个过程中的关键知识点。 1. **Java IO流**: Java的IO流库提供了处理输入和输出...

    java调用kettle示例

    Kettle(也称为Pentaho Data Integration或PDI)是一款强大的ETL(Extract, Transform, Load)工具,它允许用户通过图形化界面设计数据转换流程,并能被其他应用程序如Java程序调用执行这些流程。在本示例中,我们将...

    使用java理解程序逻辑

    总的来说,"使用Java理解程序逻辑"是一个引导初学者进入编程世界的良好起点。通过学习Java的基本语法和逻辑结构,结合PPT中的示例和实践,可以逐步构建起编程思维,为后续的深入学习打下坚实的基础。

    java调用vbs获取获取excel各sheet页打印总数

    标题提到的"java调用vbs获取获取excel各sheet页打印总数"就是一个这样的解决方案。VBScript是Windows操作系统内置的一种脚本语言,能够与Office应用程序交互,包括Excel。通过VBScript,我们可以直接操作Excel对象...

    Java小程序——文件检索运行

    Java的`FilenameFilter`接口可以实现这一功能,通过自定义实现其`accept()`方法来判断文件是否满足条件。 3. **文件运行**: - 对于Windows系统,文件运行通常涉及到系统命令行调用。在Java中,可以使用`Runtime....

Global site tag (gtag.js) - Google Analytics