【问题标题】:Is there a way to retrieve a java source file?有没有办法检索java源文件?
【发布时间】:2014-04-10 12:59:42
【问题描述】:

我在 IntelliJ IDEA 上开发时机器崩溃了,当我再次加载项目时,main.java 文件为空。当我在记事本++中打开文件时,只有“NUL NUL NUL NUL NUL”字符。像这样:“”

【问题讨论】:

  • FS 损坏...答案取决于操作系统和文件系统。
  • 我正在 Windows 8 上开发。

标签: java file backup recovery


【解决方案1】:

这可能是一个延伸,但是...可能有 IntelliJ 从您的 .java 源代码编译的 .class 文件。

例如:

{main IDEA project DIR}/untitled/out/production/untitled/Main.class

“untitled”将是您的项目名称(这是一个在 Linux 下具有目录结构的示例:您可能需要适应 Windows)。

如果您设法找到那个(那些)文件,那么您可能能够使用 Java 反编译器从那个(那些).class 文件。请注意,单个 .java 文件可能会提供多个 .java 文件(例如,如果您的 main.java 中有内部类) .

如果它很小(我只是重写它)我不会打扰,但如果你有一个大的 main.java 文件(顺便说一句,这绝不是一个好主意),那么它可能是值得。

下一次,正如已经建议的那样:查看 (D)VCS 并使用备份 :)

【讨论】:

    【解决方案2】:

    您也许可以使用文件恢复工具来恢复丢失的文件,但文件可能会永远丢失。 (这就是为什么定期备份是个好主意,并将您的代码副本放入单独机器上的版本控制存储库中......)

    有很多适用于 Windows 的文件恢复工具,推荐一个对于 SO 来说是题外话。

    如果您完全绝望,我想反编译“.class”文件是另一种选择。但是你不会得到你的任何 cmets 或局部变量的名称等。如果你的代码很复杂,反编译的代码可能会不同......而且不一定正确和可编译。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-31
      • 2019-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-10
      相关资源
      最近更新 更多