- ファイル/フォルダを削除する前に開いているかどうかを確認する方法.
プログラムで削除しています..削除する前に、開いているかどうかを確認する必要があります
私はこのようなものが欲しい、
if(file/folder is open){ //do not delete it }else{ //delete it }
以下の 2 つのコードのセットを試しましたが、何も機能しません
File scrptFile=new File(dirFile); boolean isFileUnlocked = false; try { org.apache.commons.io.FileUtils.touch(scrptFile); isFileUnlocked = true; } catch (IOException e) { isFileUnlocked = false; } if(isFileUnlocked){ // Do stuff you need to do with a file that is NOT locked. System.out.println("file is not locked"); } else { // Do stuff you need to do with a file that IS locked System.out.println("file is locked"); } File file = new File(dirFile); 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 System.out.println("Ok. You get the lock"); } catch (OverlappingFileLockException e) { // File is open by someone else System.out.println("File is open by someone else"); } finally { lock.release(); }
質問する
1261 次
1 に答える
0
Apache commons io api を利用できます。
boolean flagFileNotInUse = false;
try {
org.apache.commons.io.FileUtils.touch(yourFile);
flagFileNotInUse = true;
} catch (IOException e) {
flagFileNotInUse = false;
}
// 次に flagFileNotInUse の値をチェックし、
flagFileNotInUse = true, means file not in use
flagFileNotInUse = false, means file in use
于 2013-11-05T07:41:46.350 に答える