A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 尤泽红 初级黑马   /  2012-8-26 19:53  /  1786 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文



编写程序拷贝一个文件, 尽量使用效率高的方式.  

7 个回复

倒序浏览
视频上有答案,关键是学会能灵活运用!

评分

参与人数 1黑马币 +30 收起 理由
包晗 + 30

查看全部评分

回复 使用道具 举报
package com.itheima;
/**
*第6题的题目:    编写程序拷贝一个文件, 尽量使用效率高的方式.
*
*  @author 廉伟
*/


//解题过程:


        import java.io.FileInputStream;
        import java.io.FileOutputStream;
        import java.io.IOException;


        public class Test6
                {

                public static void main(String[] args) throws IOException {

                        String src = null;
                        String desc = null;
                        try{
                                src = args[0];
                                desc = args[1];
                        }
                        catch(ArrayIndexOutOfBoundsException noFileExp)
                                {
                                System.out.println("请输入要拷贝的文件名字");
                                return;
                                }
                       
                        FileInputStream srcFile = new FileInputStream(src);
                        FileOutputStream descFile = new FileOutputStream(desc);
                       
                        byte[] ary = null;
                        int byteRead = -1;
                        do
                        {ary = new byte[1024];
                               
                                byteRead = srcFile.read(ary);
                               
                                descFile.write(ary);
                                descFile.flush();
                        }
                        while (byteRead != -1);
                        {
                                srcFile.close();
                                descFile.close();
                        }
               
        }

        }
       
       

评分

参与人数 1技术分 +1 收起 理由
包晗 + 1

查看全部评分

回复 使用道具 举报
以上是我的解题过程,希望可以帮到你,
回复 使用道具 举报
视频里面有,不会可以写个自己的思路上来,有什么地方不懂,或做不出来,可以问具体的。但直接把问题发出来是不是有点......感觉跟本没想过{:soso_e127:}
拷贝文件 有两种,一种是用字节流拷贝文件 ,一种是字符流拷贝文件 。题目 没有写是字节文件 还是字符文件。毕老师的基础视频里面两种拷贝方式都有,建议先去看了视频再回来做这题。还有效率高的方式,对于文本文件当然是缓冲区加字符流加一次读一行拷贝;对于字节流文件 只能是缓冲区加字节流拷贝。个人理解,可能不对,仅供参考。
回复 使用道具 举报
{:soso_e103:} 毕老师 无敌。
回复 使用道具 举报
老毕的课程里有
回复 使用道具 举报
  1. import java.io.FileInputStream;
  2. import java.io.FileOutputStream;
  3. import java.io.IOException;

  4. public class CopyFile {

  5.         /**
  6.          * @param args
  7.          * @throws IOException
  8.          */
  9.         private static final int BUFFER_SIZE = 1024;
  10.         public static void main(String[] args) throws IOException {
  11.                 // TODO Auto-generated method stub
  12.                         FileCopy();
  13.         }

  14.         public static void FileCopy() throws IOException {
  15.                 // TODO Auto-generated method stub
  16.                
  17.                        
  18.                         FileInputStream fis = new FileInputStream("e:\\Waiting For Copy.jpg");               
  19.                         FileOutputStream fos = new FileOutputStream("e:\\Copy File.jpg");
  20.                        
  21.                         byte[] buf = new byte[BUFFER_SIZE];
  22.                        
  23.                         int len = 0;
  24.                        
  25.                         while((len=fis.read(buf))!=-1){
  26.                                 fos.write(buf,0,len);
  27.                         }
  28.                        
  29.                         fos.close();
  30.                         fis.close();
  31.                
  32.         }

  33. }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马