我想使用文件阅读器在控制台上打印当前程序的源代码(正在运行的程序)?怎么做? 即使用java.io.FileReader类
答案 0 :(得分: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类的源代码,因为源代码是编译的,因此不是人类可读的。