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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 齐宁宁 中级黑马   /  2014-10-15 15:39  /  1610 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public class MyEncoderText {
        public static void main(String[] args)throws Exception {
                String path0=args[0];
                String path1=args[1];
                FileInputStream in=new FileInputStream(path0);
                FileOutputStream out=new FileOutputStream(path1);
                 cypher(in,out);       //为什么在这里会出错,The method cypher(InputStream, OutputStream) in the type MyEncoderText is not applicable                                                 //for the arguments (FileInputStream, FileOutputStream)
                 System.out.println("结束");
                out.close();          
        }
        private static void cypher(InputStream inp,OutputStream oup)throws Exception{
                int len=-1;
                System.out.println("0:  "+len);               
                        while ((len=inp.read())!= -1){
                                System.out.println("1: "+len);
                                oup.write(len^102^91);
                                System.out.println("2: "+len);
                        }
                        System.out.println("3: "+oup);               
        }
}
为什么运行会出错?The method cypher(InputStream, OutputStream) in the type MyEncoderText is not applicable for the arguments (FileInputStream, FileOutputStream)
不能将FileInputSrteam类型的对象传入到参数类型为InputStream的方法中吗?


评分

参与人数 1黑马币 +1 收起 理由
杨佳名 + 1

查看全部评分

6 个回复

倒序浏览
FileInputStream in=new FileInputStream(path0); 这句你的参数接收的是字符串,得把他转换成文件对象
FileInputStream in=new FileInputStream(new File(path0));
回复 使用道具 举报
Nullifier 发表于 2014-10-15 16:21
FileInputStream in=new FileInputStream(path0); 这句你的参数接收的是字符串,得把他转换成文件对象
Fi ...

FileInputStream是可以直接接受文件路径的,下面方法中参数类型变成FileInputStream就可以了,但是这样参数就非常限制了。
回复 使用道具 举报
我执行你的代码没有错。可能你是在调用java命令的时候,为main传入的参数有问题
回复 使用道具 举报
齐宁宁 发表于 2014-10-15 19:53
FileInputStream是可以直接接受文件路径的,下面方法中参数类型变成FileInputStream就可以了,但是这样参 ...

哦 哦谢谢提醒我一直转对象来着
回复 使用道具 举报
哈达洋 发表于 2014-10-15 20:48
我执行你的代码没有错。可能你是在调用java命令的时候,为main传入的参数有问题 ...

但是我的代码连编译器都过不了啊,会提示出错,只要把方法中的参数类型变成FileInputStream运行就没问题,不知道什么情况,
回复 使用道具 举报
Nullifier 发表于 2014-10-15 21:02
哦 哦谢谢提醒我一直转对象来着

不客气,一起相互学习:lol
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马