黑马程序员技术交流社区

标题: 这段代码,哪里错了 [打印本页]

作者: zhaohua733    时间: 2016-5-23 22:47
标题: 这段代码,哪里错了

捕获07.PNG (4.73 KB, 下载次数: 109)

哪里错了,为啥红线不消失

哪里错了,为啥红线不消失

作者: fanhongwei1105    时间: 2016-5-23 23:32
你的copy方法呢?
作者: kunwenli    时间: 2016-5-23 23:34
你的包包有没有过来
作者: zyp1343832    时间: 2016-5-23 23:46
你检查下你的copy方法,我觉得应该是你的copy方法有问题,值应该是没传到
作者: 18735346124    时间: 2016-5-24 08:43
可以发一下全部代码不?
作者: daniel031699    时间: 2016-5-24 12:40
可以把你的工程代码全都发上来吗
作者: z736886202    时间: 2016-5-24 22:11
没写方法或者是写方法了 返回值哪里没弄  代码发全才行啊
作者: 逝水大魔王    时间: 2016-5-24 22:15
兄弟,你的方法也打出来呀
作者: liming1990422    时间: 2016-5-24 23:48
copy方法没写 或者型参不匹配
作者: huburt    时间: 2016-5-26 07:50
因为你给代码不全,所以可能有很多。
我觉得最大的可能是:你copy方法里抛出了异常,在这里要么也抛出,要么try。。catch住;

作者: 欧胤祥    时间: 2016-5-26 16:25
代码都不全,谁知道什么鬼啊,麻烦把代码补全吧
作者: 换一个昵称    时间: 2016-5-27 00:16
这个还真不知道
作者: ygxheima    时间: 2016-5-27 17:55
你这里可能有静态方法调用的不是静态方法?或者是这个方法的参数列表不对?或者是你没定义这个方法?
作者: 星星星    时间: 2016-5-28 08:48
哪里有错点哪里,你的拷贝方法应该没写呢
作者: zhoushangpeng    时间: 2016-5-28 22:33
package com.heima.test;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class Test3 {
        /**
         * 需求:3,从键盘接收两个文件夹路径,把其中一个文件夹中(包含内容)拷贝到另一个文件夹中
         *
         * 把其中一个文件夹中(包含内容)拷贝到另一个文件夹中
         * 分析:
         * 1,在目标文件夹中创建原文件夹
         * 2,获取原文件夹中所有的文件和文件夹,存储在File数组中
         * 3,遍历数组
         * 4,如果是文件就用io流读写
         * 5,如果是文件夹就递归调用
         * @throws IOException
         */
        public static void main(String[] args) throws IOException {
                File src = Test1.getDir();
                File dest = Test1.getDir();
                if(src.equals(dest)) {
                        System.out.println("目标文件夹是源文件夹的子文件夹");
                }else {
                        copy(src,dest);
                }
        }
        /*
         * 把其中一个文件夹中(包含内容)拷贝到另一个文件夹中
         * 1,返回值类型void
         * 2,参数列表File src,File dest
         */
        public static void copy(File src, File dest) throws IOException {
                //1,在目标文件夹中创建原文件夹
                File newDir = new File(dest, src.getName());
                newDir.mkdir();
                //2,获取原文件夹中所有的文件和文件夹,存储在File数组中
                File[] subFiles = src.listFiles();
                //3,遍历数组
                for (File subFile : subFiles) {
                        //4,如果是文件就用io流读写
                        if(subFile.isFile()) {
                                BufferedInputStream bis = new BufferedInputStream(new FileInputStream(subFile));
                                BufferedOutputStream bos =
                                                new BufferedOutputStream(new FileOutputStream(new File(newDir,subFile.getName())));
                               
                                int b;
                                while((b = bis.read()) != -1) {
                                        bos.write(b);
                                }
                               
                                bis.close();
                                bos.close();
                        //5,如果是文件夹就递归调用
                        }else {
                                copy(subFile,newDir);
                        }
                }
        }
}
作者: 车前子008    时间: 2016-5-28 23:05
两个参数是一样的   是要完成什么功能啊
作者: 戎马生涯    时间: 2016-6-2 18:22
兄弟,不知道你的方法定义了没有,或者是你方法定义了,参数列表定义错了~需要你发全部代码才能全面的解答~
作者: zhangquan    时间: 2016-6-3 10:46
你这样完全没法查好吗
作者: chengxiankun    时间: 2016-6-3 23:37
没有copy方法??  很多可能性
作者: 程序员的崛起    时间: 2016-6-5 12:25
你没有写方法吧
作者: 大笑哈哈    时间: 2016-6-19 14:30
是不是没抛copy方法的异常出来
作者: 小雨皮    时间: 2016-6-19 16:07
倒包错了吧?
作者: fulq1234    时间: 2016-6-20 12:19
package aa;

import java.io.File;

public class BB {

        public static void main(String[] args) {
                File src=new File("");
                File dest=new File("");
                copy(src,dest);

        }

        private static void copy(File src, File dest) {
                // TODO Auto-generated method stub
               
        }

}

作者: 黄晓蚁    时间: 2016-6-21 10:37
厉害的好多啊!!
作者: 小头猪仔    时间: 2016-6-21 13:26
估计是copy方法没有加静态,看看copy方法才能知道具体问题啊
作者: 1499744937    时间: 2016-6-22 18:07
很有可能是你的copy方法不是static的
作者: 天之骄子no1    时间: 2016-6-24 11:12
这个问题有多方面的,可以能和copy方法中的参数类型不一致,或者copy方法有返回值,您在这里调用copy方法后没有赋值。
作者: lx610    时间: 2016-7-6 21:58
能把编译错误也放上来吗?还有getDir方法。目前的代码是没看出错误来。
作者: linguoqun    时间: 2016-7-25 00:44
楼主,你好!
很明显,划红线的部分是一个方法。意思是程序找不到copy ()这个方法。
解决思路:
1、是否有在源文件定义该方法?
2、如果该方法是某文件已经定义好的,需要将该文件导进来。
3、方法名是否有写错?

以上三个方法,楼主可以试 一下,纯手打的,满意请采纳,谢谢!
作者: truth95    时间: 2016-8-2 14:37
看看你的copy方法,返回值是什么类型
作者: absvir    时间: 2016-8-18 13:11
你的copy方法在哪儿?
作者: crossover    时间: 2016-9-5 10:37
你定的方法参数列表有问题
作者: 545818406    时间: 2016-9-5 11:08
copy方法里面的参数有问题
作者: LShu    时间: 2016-9-6 16:31
哥们,你的copy()方法代码在那啊?截图全一点
作者: heh8921    时间: 2016-9-6 17:01
有三种情况:
1.方法没写
2.方法名跟这个不一样(字母有差或者大小写有问题)
3.src跟dest重名,无限递归
第3种可以加个判断
if (dest.equals(src)) {
     System.out.println("目标文件夹与源文件夹重名")
}else {
     copy(src,dest);
}
作者: 杨凯233    时间: 2016-9-9 20:04
报错的原因是找不到名字叫copy的方法。
看看你当前类有没有定义copy方法。
或者是如果你在其他类定义了,有没有引用那个类。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2