package hello;
 import java.io.*;
 public class FileReverse {
   File ifile;
   FileReverse(String fname)throws IOException {
     ifile=new File(fname);
   }
   public void reverse() {
    int c;
     FileInputStream fin;
     FileOutputStream fout;
     BufferedReader br;
     BufferedWriter bw;
     StringBuffer strbuf=new StringBuffer();
     try{
      fin = new FileInputStream(ifile);
      br = new BufferedReader(new InputStreamReader(fin,"GB2312"));
      while((c=br.read())!=-1) {
        strbuf.append((char)c);
      }
      br.close();
      fin.close();
      fout = new FileOutputStream(ifile);
      bw = new BufferedWriter(new OutputStreamWriter(fout,"GB2312"));
      for(int j=strbuf.length()-1;j>=0;j--){
       bw.write(strbuf.charAt(j));
       System.out.println(String.valueOf(strbuf.charAt(j)));
      }
      bw.close();
      fout.close();
      }
      catch(FileNotFoundException e){
       System.err.println("io:"+e.getMessage());
      }
      catch (IOException e) {
       System.err.println("io:"+e.getMessage());
       }
     }
     public static void main(String []args) {
       try{
         FileReverse fc=new FileReverse("e:\\hello.txt");
         fc.reverse();
        }
        catch(FileNotFoundException e){
         System.err.println("io:"+e.getMessage());
        }
        catch (IOException e) {
          System.err.println("io:"+e.getMessage());
         }
       }
    }