黑马程序员技术交流社区
标题:
构造方法中的传入参数能够使FIle对象吗?
[打印本页]
作者:
吴刚—heima
时间:
2013-5-28 15:55
标题:
构造方法中的传入参数能够使FIle对象吗?
昨天做黑马的基础测试题的时候,有一道题是让我写一个拷贝文件的方法,享乐一下定义一个类
class CopyFie(FIle f1,FIle f2)
{
public void CopyFile(Fille f1,File f2)
{
//这里怎样将主函数定义的两个FIle对象传进来,并让当前类的其他方法能够实用呢。
}
}
复制代码
我在这里纠结了很久,最好还是放弃了面向对象的编程方法,全部写到了主函数中去了,如果有知道的朋友还望不吝赐教。
作者:
ZhaoYuBetter
时间:
2013-5-28 16:36
class CopyFie(FIle f1,FIle f2),这里写错了
作者:
吴刚—heima
时间:
2013-5-28 16:48
哦,你可以忽略我这个拼写错误,我主要想问的是一个类的构造函数的传入参数能不能是File对象,如果能,那么怎样接受!
作者:
陈潜
时间:
2013-5-28 22:44
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();
}
}
这个是否是你想要的?
作者:
袁梦希
时间:
2013-5-29 17:12
如果问题已经解决,请把帖子的类型改为已经解决,如果不会解决请看我的个性签名。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2