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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

昨天做黑马的基础测试题的时候,有一道题是让我写一个拷贝文件的方法,享乐一下定义一个类

  1. class CopyFie(FIle f1,FIle f2)
  2. {
  3.      public void CopyFile(Fille f1,File f2)
  4.      {
  5.            //这里怎样将主函数定义的两个FIle对象传进来,并让当前类的其他方法能够实用呢。
  6.      }
  7. }
复制代码
我在这里纠结了很久,最好还是放弃了面向对象的编程方法,全部写到了主函数中去了,如果有知道的朋友还望不吝赐教。

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

4 个回复

倒序浏览
class CopyFie(FIle f1,FIle f2),这里写错了
回复 使用道具 举报
哦,你可以忽略我这个拼写错误,我主要想问的是一个类的构造函数的传入参数能不能是File对象,如果能,那么怎样接受!
回复 使用道具 举报
import java.io.*;

//我主要想问的是一个类的构造函数的传入参数能不能是File对象,如果能,那么怎样接受!

class CopyFile{
        //首先要定义接受的参数
        private File f1;
        private File f2;
       
         //构造函数初始化
     public CopyFile(File f1,File f2){
             this.f1 = f1;
             this.f2 = f2;
     }
     
     //复制的方法,因为两个文件都是成员变量,可以直接调用
     public void doCopy(){
             BufferedInputStream bis = null;
             BufferedOutputStream bos =null;
             try {
                        bis = new BufferedInputStream(new FileInputStream(this.f1));
                        bos = new BufferedOutputStream(new FileOutputStream(this.f2));
                       
                        int by = 0;
                        while((by=bis.read()) != -1){
                                bos.write(by);
                        }
                } catch (IOException e) {
                        e.printStackTrace();
                }finally{
                        try {
                                if(bis != null)
                                        bis.close();
                        } catch (IOException e) {
                                e.printStackTrace();
                        }
                        try {
                                if(bis != null)
                                        bis.close();
                        } catch (IOException e) {
                                e.printStackTrace();
                        }
                }
             
     }
     
     public static void main(String[] args) {
            File f1 = new File("hello.html");
            File f2 = new File("hello1.html");
           
            CopyFile d = new CopyFile(f1,f2);       
            d.doCopy();
        }     
}
这个是否是你想要的?

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
如果问题已经解决,请把帖子的类型改为已经解决,如果不会解决请看我的个性签名。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马