java - 无法使用 Java 删除 Linux 中的隐藏文件

标签 java linux hidden-files

环境:

  • Linux Ubuntu 14.04LTS
  • Java 1.7

当前代码:

String fileName = ".fileName";
            try {
                java.io.File F = new java.io.File(fileName);
                java.io.RandomAccessFile RF = new java.io.RandomAccessFile(F,"rwd");
                RF.close();
                boolean deleted = F.delete();                   
                System.out.println("File was deleted: " + deleted);
            } catch (FileNotFoundException e1) {
                System.out.println("Unable to access file: " + e1.getMessage());
            }

文件仍然存在,但 deleted 为 true,没有捕获到 FileNotFoundException

最佳答案

以下其中一项可能是您的问题:

  • 你是在正确的目录中删除吗?我注意到您指定的不是绝对路径,而是相对路径,这并不意味着您是故意指定相对路径。您可能正在删除另一个目录中的内容。
  • 关闭文件 F,您让句柄保持打开状态,我不确定后果。
  • 您如何验证“它仍然存在”? ls 而不是 catnano 或任何正确的东西?

及其他调试:

  • 打开 RF 重要吗? (不应该)。
  • 它是一个隐藏文件真的重要吗?您实际上删除的是什么文件?
  • 这是否发生在不同的目录中?
  • 如果您使用 chmod 锁定对相关文件的读/写访问权限,是否会发生这种情况?如果你阻止读取什么失败,如果你阻止写入什么失败?我强烈怀疑这会阐明您的问题。

关于java - 无法使用 Java 删除 Linux 中的隐藏文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26706205/

相关文章:

java - Java补充开发工具

linux - 为什么 gdb 会挂起?

java - 如何在 Linux 上的 Intellij 中正确一步步安装 java 和 javafx?

android - 在 Android Studio 的 Android 设备监视器上查看隐藏文件?

python - shutil.rmtree : FileNotFoundError: [Errno 2] No such file or directory: '._xxx'

java - 使用 Hibernate 在 MySQL 中存储字节数组

java - 如何在具有许多字段的java中创建一个不可变的类?

linux - 在 Linux 中观察文件的变化

Python 3.6 glob 包含隐藏文件和文件夹

java - Cassandra 2.2.8 : sstableverify - GC overhead limit exceeded