当前位置: 首页 > 面试题库 >

Java写入已删除的文件

柯新翰
2023-03-14
问题内容

我正在使用FileWriter写入文件,并注意到即使删除了文件(进程外),FileWriter也不会引发任何异常。

这正常吗?


问题答案:

这取决于您的操作系统:

  • 在Windows上,通常无法删除打开的文件。
  • 在Unix上,完全可以接受删除打开的文件并继续写入(或从中读取)文件。删除文件后,它将不再具有目录条目。但是,其内容将继续存在于磁盘上,直到关闭该文件。一旦所有引用该文件的打开句柄关闭,操作系统将自动回收磁盘空间。


 类似资料:
  • 问题内容: 我想用Java编写一个文件而不清除(删除)该文件上的旧数据! 我运行此代码,发现每次运行后,.txt文件上的所有较旧数据都被清除了! 我的代码在这里: 问题答案: 使用可以指示在附加模式下打开文件的构造函数:

  • 问题内容: 我想通过Java从磁盘恢复文件而不使用本机库 我正在使用Java 8进行此操作 据我所知,已删除的文件会保留在磁盘上,直到被覆盖为止 我可以直接访问Linux上的磁盘,并且可以读取原始数据,但是,例如,如何解析ext4或NTFS文件系统上的已删除文件? 谢谢。 问题答案: 要恢复已删除的文件,需要了解底层文件系统的实现方式,因此您需要做一些阅读工作,然后才能到达任何地方。 从理论上讲,

  • 当用户注销应用程序时,我必须从用户系统中删除一些临时文件。该应用程序具有小程序。小程序jar已签名。我按照这个策略调用applet的destroy方法来删除文件。我通过类似javascript的文档调用applet的destroy方法。我的小程序。销毁()。调用此命令后,我在浏览器上得到的错误如下 未捕获错误:java。安全AccessControlException:访问被拒绝(java.io.

  • 在我用fabric集成将应用程序更改为firebase Crashlytics之后,应用程序开始在HMS设备上崩溃,并出现如下错误。我没有任何问题与谷歌播放设备。我更改了google-service.json,之后可以跟踪崩溃信息。

  • 给定Java代码: 有没有一种方法可以删除我们在“//insert here”中插入一些内容的新行,而不修改其余代码,这样输出将从:

  • 我正在使用Hadoop GCS Connector 3-2.2.2和google云存储版本1.113.14将数据写入谷歌云存储上的文件。 我有一个文件类,它有一个写方法,返回一个输出流如下使用hadoop类: FS是org.apache.hadoop.fs.FileSystem的实例;path是导入org.apache.hadoop.fs.Path的实例; 我甚至尝试使用谷歌云存储sdk来实现我的