java - 手动删除后,文件内容还能读出来吗?

标签 java file

import java.io.FileReader;

public class SimpoTest {

    public static void main(String[] args) {
        FileReader fileReader = null;
        try {
            fileReader = new FileReader("/home/brian/Desktop/me");
            int read = fileReader.read();
            System.out.println((char) read);
        } catch (Exception e) {
            fileReader = null;
            e.printStackTrace();
        }
    }
}

1\echo "1">/home/brian/Desktop/me
2\设置断点为“int read = fileReader.read();”
3\开始调试
4\rm -f/home/brian/桌面/我
5\跳转到最后 <======== 控制台仍然输出“1”...

嗯……这对我来说真的很奇怪。因为我虽然应该抛出一个异常。 谁能给出任何解释? 如有任何意见或建议,我们将不胜感激。

最佳答案

在大多数类 Unix 系统上,文件的数据一直保留在磁盘上,直到所有 引用消失;这包括路径名(硬链接(hard link))和打开的文件句柄。

关于java - 手动删除后,文件内容还能读出来吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10359912/

相关文章:

java - 改变静态成员对象的值

java - hibernate : No Dialect mapping for JDBC type: 101

java - 如何创建 3D 对象

java - 了解在 Java 中创建新文件的确切方式

c# - 检测文件扩展名 c#

java - 即使我们可以使用以下代码片段进行深度克隆,为什么我们还要实现 Cloneable

java - 从字符串中提取多个组?

c - 如何读取文件并将每个读取的行拆分为变量或数组

c - 在c中读取unicode文件

C 程序目录扫描器仅适用于一个目录