Java 保存Excel文件以防被删除/使其受到保护

Java 保存Excel文件以防被删除/使其受到保护,java,apache-poi,Java,Apache Poi,我有一个要求,即通过Apache POI在我的c:文件夹中生成excel,我希望如果某个用户通过鼠标选择并点击delete键,强制尝试删除它,则不需要删除特定的excel,我希望将其设置为受保护的,请告诉我如何通过java代码使此excel文件不被删除,apache poi中的任何设置都可以查看此讨论: 简而言之,使用通道锁,如下所示: FileLock lock = new FileInputStream(paht).getChannel().lock(); try { // do wh

我有一个要求,即通过Apache POI在我的c:文件夹中生成excel,我希望如果某个用户通过鼠标选择并点击delete键,强制尝试删除它,则不需要删除特定的excel,我希望将其设置为受保护的,请告诉我如何通过java代码使此excel文件不被删除,apache poi中的任何设置都可以查看此讨论:

简而言之,使用通道锁,如下所示:

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

取决于平台,这并不完全可能。再想一想。除此之外,更改文件权限在Windows上非常麻烦,如果将文件设置为只读,则(技术上)无法对其进行写入。您最好将文件写入用户不太可能出现混乱的地方。您可以使用其他用户运行应用程序,并设置目标文件夹权限,以便其他用户无法写入