如何使用FileReader类打印我正在编写的程序

时间:2013-08-01 13:14:36

标签: java

我想使用文件阅读器在控制台上打印当前程序的源代码(正在运行的程序)?怎么做? 即使用java.io.FileReader类

1 个答案:

答案 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类的源代码,因为源代码是编译的,因此不是人类可读的。