在Java中打开文件时从外部重命名文件

我现在正在编写
Java应用程序,它必须通读文件.

我正在使用这种方法:

BufferedReader mb_reader = new BufferedReader(new FileReader(f1));
int lines = 0;
while (null != (mb_line = mb_reader.readLine())) {
    lines++;
    //something to do
}

一切正常,但文件可能必须从外部更改(例如).

我有一个方法测试文件是否存在,然后打开这个阅读器.
但是,如果我现在尝试在Windows资源管理器中重命名该文件,它只是说该文件是用Java打开的,无法重命名.

有没有办法可以重命名它,即使它被打开了?

最佳答案 您需要关闭流以将文件释放到系统,我认为没有一种直接的方法.

您可以有一个工作副本来读取和检查文件,然后进行您可能期望的更改.

点赞