我正在使用Android Studio,最新版本是昨天,当我的PC决定关闭时(原来PSU不会永远持续下去)。我拿出硬盘驱动器,直到我找到一个更换的PSU并将其放入另一台PC,打开我的项目后我可以用Android Studio打开MainAcivity。我用文本编辑器打开了Java文件,它提供了大约8000行的0。
有没有人知道如何解决这个问题,因为我将大量的工作和时间放入该文件中?
答案 0 :(得分:2)
您的文件已损坏,存储文件的磁盘扇区实际上已损坏/未分配,因为该文件保存在磁盘缓存中/当前已写入。
如果您使用版本控制机制,例如git,mercurial或cvs,您可以尝试从最近一次成功检查时检出系统中的文件 - 在。如果失败,您可以尝试克隆/签出您的存储库的在线版本,看看它是否是正确的版本。
每个人都应该有一个合适的备份系统,使备份相对容易,甚至存储在多台计算机上的git存储库也已经是一个很好的备份。
即使Jeff Atwood过去也犯了this错误。 (是的,他是用户1)
有时候,在Windows上使用chkdsk
或在Linux上使用fsck
可能会有更多的运气。
这可能是因为您处理了该文件,并且文件系统决定出于各种原因将文件移动到另一个扇区。然后,当它移动文件时,硬盘崩溃了。这使文件指针指向新位置,而文件在旧位置仍然是安全的。
在Linux和Mac上,通过此技术恢复的文件存储在目录/lost+found
中,而在Windows上,此目录称为" / Found"位于受影响的硬盘中。
有时候,上述技术会提供类似于原始代码的任何内容。在这种情况下,我们需要使用我们必须丑陋的方法,反编译。
你可以使用各种java和android反编译器,这些可以通过搜索" java反编译器"在谷歌上轻松找到。我不打算在这里命名,以防止这个答案成为基于反编译器最好的解决方案。