Java 电脑故障后,我的MainActivity文件是否损坏?

Java 电脑故障后,我的MainActivity文件是否损坏?,java,android,android-studio,git,mercurial,cvs,Java,Android,Android Studio,Git,Mercurial,Cvs,我使用的是安卓Studio,这是昨天发布的最新版本,当时我的电脑决定关闭(原来PSU不会永远使用)。我取出硬盘,直到我可以找到一个替代PSU并将其放入另一台PC,打开我的项目后,我可以用Android Studio再打开Mainacity。我用文本编辑器打开了Java文件,它显示了大约8000行0 有人知道如何解决这个问题,因为我在这个文件中投入了大量的工作和时间 您的文件已损坏,存储文件的磁盘扇区实际上已损坏/未分配,因为文件被保存在磁盘缓存中/当前已写入 从版本控制重置文件 如果使用版本控制

我使用的是安卓Studio,这是昨天发布的最新版本,当时我的电脑决定关闭(原来PSU不会永远使用)。我取出硬盘,直到我可以找到一个替代PSU并将其放入另一台PC,打开我的项目后,我可以用Android Studio再打开Mainacity。我用文本编辑器打开了Java文件,它显示了大约8000行0

有人知道如何解决这个问题,因为我在这个文件中投入了大量的工作和时间


您的文件已损坏,存储文件的磁盘扇区实际上已损坏/未分配,因为文件被保存在磁盘缓存中/当前已写入

从版本控制重置文件 如果使用版本控制机制,例如,或,则可以从最近一次成功签入时开始尝试从系统中签出文件。如果失败,您可以尝试克隆/签出存储库的在线版本,并查看该版本是否正确

从备份中恢复文件 每个人都应该有一个合适的备份系统,进行备份相对容易,甚至存储在多台计算机上的存储库也可以是一个很好的备份

甚至过去也犯过错误。(是,他是用户1)

使用磁盘检查应用程序恢复文件 有时,在Windows上使用
chkdsk
,或者在Linux上使用
fsck
,可能会更幸运

这可能是因为您处理了该文件,并且文件系统出于各种原因决定将该文件移动到另一个扇区。然后,当它移动文件时,硬盘崩溃了。这使文件指针指向新位置,而文件在旧位置仍然安全

在Linux和Mac上,通过此技术恢复的文件存储在目录
/lost+found
,而在Windows上,此目录称为“/found”,位于受影响的硬盘驱动器中

反编译旧应用程序 有时,上述技术提供的内容与原始代码类似。在这种情况下,我们需要使用我们的方法,反编译


您可以使用各种java和android反编译器,通过搜索“java反编译器”,可以很容易地在google上找到它们。我不打算在这里命名它们,以防止这个答案成为基于什么是反编译器最好的观点的定论。

这就是我们应该进行备份的原因。您的文件现在已损坏,您应该从头开始重新创建它。您可以尝试解码旧的apk文件并将其用作基础,但您将无法正确地将其取回。如果您使用的是像git这样的修订历史记录系统,您可以尝试重新设置到最新版本的版本。不幸的是,我认为崩溃损坏了您的文件。始终保留您的工作的备份或使用版本控制。谢谢@Ferrybig,ashame将尝试解码APK,这是一个昂贵的教训。反编译APK非常简单,请尝试在线反编译器:我经常使用它。我会小心上传你的项目,希望它还没有接近完成,这样网站背后的人就不能窃取你的应用。我对那些东西有点偏执。