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/