使用I/O流 复制文件(字节流,字符流)

//文件复制    字符流
        FileReader fr=null;
        BufferedReader br=null;
        FileWriter fw=null;
        BufferedWriter bw=null;
        try {
            //读取文本
            fr=new FileReader("H:\\i_o\\文件复制\\test1.txt");
            br=new BufferedReader(fr);
            fw=new FileWriter("H:\\i_o\\文件复制\\newtest1.txt");
            bw=new BufferedWriter(fw);
            //循环读取文件内容写入新的文件中
            String c;
            while((c=br.readLine())!=null){
                bw.write(c);
            }
            System.out.println("文件复制已完成,请查看!");
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }finally{
            try {
                bw.close();
                fw.close();
                br.close();
                fr.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }





//文件复制   字节流
        FileInputStream fis=null;
        FileOutputStream fos=null;
        //读取文件
        try {
            fis=new FileInputStream("H:\\i_o\\文件复制\\test1.txt");
            //写入到新文件中
            fos=new FileOutputStream("H:\\i_o\\文件复制\\newtest.txt");
            //循环读取文件 写入到新文件中   方法1
            int n=-1;
            while((n=fis.read())!=-1){
                fos.write(n);
            }
            //循环读取文件到数组中, 写入到新文件中  方法2
//          byte[] b=new byte[1024];
//          int n=-1;
//          while((n=fis.read(b))!=-1){
//              fos.write(b,0,n);
//          }
            System.out.println("文件复制已完成,请查看!");
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }finally{
            try {
                fis.close();
                fos.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

你可能感兴趣的:(i/o流)