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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 记忆深处里 中级黑马   /  2014-11-11 08:59  /  1643 人查看  /  13 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

import java.io.*;
class CopyPic
{
        public static void main(String[] args)
        {
                FileOutputStream fos=null;
                FileInputStream fis=null;
                try
                {
                        fos=new FileOutputStream("d:\\copy_1.jpg");

                        fis=new FileInputStream("d:\\1.jpg");
                       
                        byte[] buf=new byte[1024];
                        int len=0;
                        while((len=fis.read(buf))!=-1)
                        {
                                fos.write(buf,0,len);
                        }
                }
                catch (Exception e)
                {
                        throw  new RuntimeException("fuzhi shibai ");
                }
                finally
                {
                        try
                        {
                                if(fis!=null)
                                        fis.close();
                        }
                        catch (Exception e)
                        {
                                throw new RuntimeException("duqu shibai ");
                        }
                        try
                        {
                                if(fos!=null)
                                        fos.close();
                        }
                        catch (Exception e)
                        {
                                throw new RuntimeException("xieru shibai ");
                        }
                }
        }
}


请问我这个程序为什么编译正常 运行抛 fuzhishibai,查看d盘有个copy_1.jpg  但是0字节;我找了两遍没有找到问题的根源,大家帮下....谢谢


13 个回复

倒序浏览
为什么填null  ?
回复 使用道具 举报

填null 是为了异常处理
回复 使用道具 举报
哦 是吗       明白了谢谢     》
回复 使用道具 举报
我 不抛出异常 出现系统找不到1.jpg文件,可是我d盘有这个文件阿,到底是什么原因阿?各位大神求正解 ,谢谢
回复 使用道具 举报
MVP 中级黑马 2014-11-11 10:18:57
地板
我测试了你的代码,一切运行正常,复制的图片也没什么问题!你看看是否你的图片放错位置了!是否放在根目录
回复 使用道具 举报
MVP 发表于 2014-11-11 10:18
我测试了你的代码,一切运行正常,复制的图片也没什么问题!你看看是否你的图片放错位置了!是否放在根目录 ...

路径没错阿 .我换了个盘还是不行 ,是不是电脑的问题??好纠结
回复 使用道具 举报
记忆深处里 发表于 2014-11-11 14:09
路径没错阿 .我换了个盘还是不行 ,是不是电脑的问题??好纠结

请问 这个根目录怎么存? 就是目录的问题 ...
回复 使用道具 举报
MVP 发表于 2014-11-11 10:18
我测试了你的代码,一切运行正常,复制的图片也没什么问题!你看看是否你的图片放错位置了!是否放在根目录 ...

我研究了半天终于找到原因了.我用的图片是重命名的1.jpg.图片属性也是1.jpg. 可是在dos里面 dir   这个图片的名称是1.jpg.jpg
所以重命名的时候 直接写为1就是1.jpg的图片.
回复 使用道具 举报
DamonZh 来自手机 中级黑马 2014-11-11 16:12:56
10#
扩展名隐藏 这个问题毕老师讲课的时候提到过
回复 使用道具 举报
记忆深处里 发表于 2014-11-11 15:27
我研究了半天终于找到原因了.我用的图片是重命名的1.jpg.图片属性也是1.jpg. 可是在dos里面 dir   这个图 ...

你系统里面隐藏了常用文件的后缀名吧?
回复 使用道具 举报
yibo924 来自手机 中级黑马 2014-11-11 18:06:55
12#
隐藏后缀什么最烦人了
回复 使用道具 举报
yibo924 来自手机 中级黑马 2014-11-11 18:06:55
13#
隐藏后缀什么最烦人了
回复 使用道具 举报
记忆深处里 发表于 2014-11-11 15:27
我研究了半天终于找到原因了.我用的图片是重命名的1.jpg.图片属性也是1.jpg. 可是在dos里面 dir   这个图 ...

应该养成不隐藏后缀名的好习惯,呵呵
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马