package a;import java.io.File;
import java.io.FileReader;
import java.io.BufferedReader;
import java.io.FileWriter;
import java.io.BufferedWriter;import java.io.IOException;public class leilei
{
    public static void main(String args[])
    {
        try{
            File wenjian=new File(args[0]);
            File wenjian2=new File(args[1]);
            
            if (!wenjian.exists())
            {
                System.out.println("文件不存在!");
                return;
            }
            
            else if(wenjian.length()==0)
            {
                System.out.println("文件长度为0!");
                return;
            }
            
            FileReader duqu=new FileReader(wenjian);
            BufferedReader duqua =new BufferedReader(duqu);
            
            FileWriter xieru=new FileWriter(args[1]);
            BufferedWriter xierua =new BufferedWriter(xieru);
            
            String zifu=duqua.readLine();
            
            while(zifu!=null)
            {
                xierua.write(zifu,0,zifu.length());
                System.out.println("已写入:"+zifu);
                zifu=duqua.readLine();
            }
            
            duqua.close();
            duqu.close();
            
            xieru.close();
            xierua.close();
        
        }catch(IOException e)
        {
            System.out.println("出错!");
        }catch(Exception a)
        {
            System.out.println("请输入参数!");
        }        
        
    }
}上面这些代码总是出错!  IOException 异常被丢出来了 而且也不能把读出来的文件内容写进另一个文件

解决方案 »

  1.   

    BufferedWriter xierua =new BufferedWriter(xieru);
    xierua.close();
    这两句去掉xierua.write(zifu,0,zifu.length());
    这句改成xieru.write(zifu,0,zifu.length());
      

  2.   

    给楼主调试能过了。楼主上面xieru.close();xierua.close();这两句关的时候应先关xierua.close();然后再关xieru.close();
    import java.io.File;
    import java.io.FileReader;
    import java.io.BufferedReader;
    import java.io.FileWriter;
    import java.io.BufferedWriter;import java.io.IOException;public class leilei
    {
        public static void main(String args[])
        {
            try{
                File wenjian=new File(args[0]);
                File wenjian2=new File(args[1]);
                
                if (!wenjian.exists())
                {
                    System.out.println("文件不存在!");
                    return;
                }
                
                else if(wenjian.length()==0)
                {
                    System.out.println("文件长度为0!");
                    return;
                }
                
                FileReader duqu=new FileReader(wenjian);
                BufferedReader duqua =new BufferedReader(duqu);
                
                FileWriter xieru=new FileWriter(args[1]);
                BufferedWriter xierua =new BufferedWriter(xieru);
                
                String zifu=duqua.readLine();
                
                while(zifu!=null)
                {
                    xierua.write(zifu,0,zifu.length());
                    System.out.println("已写入:"+zifu);
                    zifu=duqua.readLine();
                }
                
                duqua.close();
                duqu.close();
                
                xierua.close();
                xieru.close();
               
            
            }catch(IOException e)
            {
                System.out.println("出错!");
            }catch(Exception a)
            {
                System.out.println("请输入参数!");
            }        
            
        }
    }
      

  3.   

    汗 粗心了 请问一下 BufferedWriter和FileWriter有啥不同哩? 哪个比较好?谢谢!