Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 手动删除后,文件内容是否仍然可以读取?_Java_File - Fatal编程技术网

Java 手动删除后,文件内容是否仍然可以读取?

Java 手动删除后,文件内容是否仍然可以读取?,java,file,Java,File,1\echo“1”>/home/brian/Desktop/me 2\将断点设置为“int read=fileReader.read();” 3\启动调试 4\rm-f/home/brian/Desktop/me 5\跳到末尾至少在类unix操作系统上,这是预期的行为:只要有一个打开的文件描述符,rm文件的块将保持分配状态,并通过该文件描述符访问 但是,我希望您不能通过删除的文件名为它们打开新的文件描述符。在大多数类似Unix的系统上,文件的数据将保留在磁盘上,直到所有引用消失;这包括路径名(硬

1\echo“1”>/home/brian/Desktop/me
2\将断点设置为“int read=fileReader.read();”
3\启动调试
4\rm-f/home/brian/Desktop/me

5\跳到末尾至少在类unix操作系统上,这是预期的行为:只要有一个打开的文件描述符,rm文件的块将保持分配状态,并通过该文件描述符访问


但是,我希望您不能通过删除的文件名为它们打开新的文件描述符。

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

正如您所说,我在另一个JVM中运行了我的代码,并看到了我预期的异常。谢谢你,克里斯。
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();
        }
    }
}