如何检查和关闭excel文件是否已在java中打开
可能重复:
Java:检查文件是否已打开
我正在制作一个swing实用程序,我在其中创建并使用Apache poi的excel表。 如果在我试图访问它时文件已经打开,它会抛出一个exception,就像其他进程正在使用这个excel文件一样。 所以我想要的是检查是否已打开excel文件,如果是,则关闭它。
你有没有关于这个主题的谷歌搜索:这是我提出的一些
- Java:检查文件是否已打开
- 在尝试删除文件之前检查文件是否已打开
- 检查另一个应用程序是否已打开excel文件
我在这里复制stackoverflow上第一个问题的答案:
File file = new File(fileName); FileChannel channel = new RandomAccessFile(file, "rw").getChannel(); // Get an exclusive lock on the whole file FileLock lock = channel.lock(); try { lock = channel.tryLock(); // Ok. You get the lock } catch (OverlappingFileLockException e) { // File is open by someone else } finally { lock.release(); }
希望这会有所帮助。
你试过这个:
File file = new File(pathToFile); if (file.canRead()) { }