保存Excel文件被删除/使其受保护

问题描述:

我有一个要求,在我的c:文件夹中通过Apache POI生成一个excel,并且我希望如果某个用户强行尝试通过转到该位置来删除它即通过使用鼠标选择并点击删除键,然后该特定的Excel不需要被删除,我想让它保护一个,请让我知道如何通过Java代码我可以让这个Excel文件不被删除一个在Apache的POI保存Excel文件被删除/使其受保护

+1

所依赖的平台上,这不是完全可能的。考虑第二。其他然后改变文件权限,这在Windows上很麻烦,如果你让文件只读,那么你不能(在技术上)写入它。您最好将文件写入用户不太可能会混乱的地方 – MadProgrammer 2013-05-14 06:50:42

+1

您可以简单地使用不同的用户运行您的应用程序并设置目标文件夹权限,以便其他用户无法在其中写入 – Maxx 2013-05-14 06:53:48

任何设置就以这个讨论一下:How can I lock a file using java (if possible)

不久上讲使用通道锁类似如下:

FileLock lock = new FileInputStream(paht).getChannel().lock(); 
try { 
    // do what you need 
} finally { 
    lock.release(); 
} 

甚至更​​好的使用Java 7的新功能:

try (
    FileLock lock = new FileInputStream(paht).getChannel().lock(); 
) { 
    // do what you need 
} 
// file lock is AutoClosable, so there is no need to call its release() explicitly