java FileReader使用的时候不能正确的显示中文字符,希望大牛帮忙看看

下面是我的源代码,我用了下面几种方式进行编辑,运行的结果都有乱码,我真是想不明白了,请大牛帮我看看。
第一种方式编译 E:\java\8>javac -encoding utf-8 TestFileReader.java
第二种方式编译 E:\java\8>javac -encoding gbk TestFileReader.java
第三种方式编译 E:\java\8>javac -encoding gb2312 TestFileReader.java
第四种方式编译 E:\java\8>javac -encoding iso-8859-1 TestFileReader.java

import java.io.*;

public class TestFileReader{
public static void main(String[] args){
FileReader fr = null;

    try{
        fr = new FileReader("e:\\java\\8\\TestFileReader.java");
    }catch(FileNotFoundException e){
        System.out.println("没有找到制定的文件!");
        System.exit(-1);
    }


    int c = 0;//当前读取的字符
    int num = 0;//读取的字符总数
    try{
        while((c=fr.read())!=-1){
            System.out.print((char)c);
            num ++;
        }

        System.out.println("读取的字符总数:" + num );
    } catch(IOException e){
        System.out.println("读取文件错误!");
        System.exit(-1);
    }
}

}

E:>javac -encoding gbk TestFileReader.java

E:>chcp
活动代码页: 936
由于不能发图片
我用的window7系统默认编码是GBK的 查出来的936是表示编码为GBK
如果是其他的你在网上找一下对应的编码,其实如果你不是用的英文系统的话,默认的编码肯定是支持中文的,编译的时候根本就不需要设置编码

我觉得你用国际标准的ISO-8859-1编译的话,文件编码格式要选成UTF-8.

试试inputstreamreader

fr = new FileReader("e:\java\8\TestFileReader.java");
下面加上 InputStreamReader isr=new InputStreamReader(fr,"utf-8");//高级流,需要导包
然后把下面的fr都替换成isr就好了最后别忘了 isr.close;