我想使用文件阅读器在控制台上打印当前程序(正在运行的程序)的源代码?怎么做?即使用 java.io.FileReader 类
问问题
89 次
1 回答
1
我认为这样做的唯一方法是让您的FileReader
对象从您的工作区打开 .java 文件,循环并打印出每一行。
编辑:添加粗略的轮廓。
package test;
import java.io.BufferedReader;
import java.io.FileReader;
public class Test {
public void printMe() {
try {
String classname = Test.class.toString();
// This gets the full class name, including package
classname= classname.replace("class ", "");
classname= classname.replace(".", "/");
BufferedReader br = new BufferedReader(new FileReader(<path_to_workspace/project_name/source_folder> + classname + ".java"));
String line = br.readLine();
while(line != null) {
System.out.println(line);
line=br.readLine();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
请记住,这仅适用于工作区。您不能在 jar 中打印已编译的 java 类的源代码,因为源代码是经过编译的,因此不是人类可读的。
于 2013-08-01T13:17:05.733 回答