写文件函数  
 public static boolean fileWrite(String filename,String filebody)
    {
        boolean bflag = false;
        PrintWriter file = null;
        OutputStreamWriter out = null;
        try {
            out = new OutputStreamWriter((new FileOutputStream(filename)),"GBK");
            out.write(filebody);
            out.flush();
            out.close();
            bflag = true;
        } catch (Exception e) {
            System.err.println(e);
        } finally {
             out.close();
            
        }
        return bflag;
    }
读文件函数
   public static String fileRead(String filename)
    {
        String fileBody = "";
        try {
            FileInputStream fr = new FileInputStream(filename);
            int n = fr.available();
            byte b[] = new byte[n];
            fr.read(b);
            fileBody = new String(b,0,b.length);
            b=null;                } catch (Exception e) {
            System.err.println(e);
        }finally {
             b=null;            
        }        return fileBody;
    }
请问以上操作在一台linux上运行正常,但是将所有的文件移到另一台linux服务器上时,从文件中读出来的却是乱码,为什么?为什么???急急急!!!