如何将java类文件作为java字符串读取?

时间:2016-10-26 07:03:48

标签: java string file .class-file

我需要在java中将java类文件作为字符串读取。

我的代码是

String path = "C:/java/MainClass.class";
String content = new String(Files.readAllBytes(Paths.get(path)));

当我打印内容变量时,我希望代码可以工作,因为它适用于简单的文本文件,我的预期输出是这样的

  

public class MainClass {public static void main(String [] args){   System.out.print(“这是一个测试文件”); }}

将来我还希望将其他格式的文件作为字符串读取:.cs,.py,。config

请告诉我需要注意的更改,以便将其作为简单的文本文件阅读。

1 个答案:

答案 0 :(得分:4)

  

请告诉我需要注意的更改,以便将其作为简单的文本文件阅读。

你想做的事是不可能的。 " .class" file包含字节码而不是源代码,字节码不能转回原始的Java源代码。

您可以做的最好的事情是使用反编译器。但要注意:

  • 反编译器不会给你原始的源代码,
  • 在很多情况下,反编译器会为您提供难以理解或无法编译的Java代码。

另一种选择是使用反汇编程序,以像javap命令的输出格式获取代码。

另一方面,如果你只是想读一个" .java"用Java编写的文件,你的代码就可以了。唯一的问题可能是源代码文件中使用的字符编码,但大多数Java源代码都是用ASCII编码的......