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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© liqi 中级黑马   /  2014-8-12 21:11  /  3096 人查看  /  30 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

下面的程序一直出错:为了找出错,没有写try catch,直接抛;
把目的改为"d:\\初雪.mp3",即把C盘改为D盘,就复制成功了;这是怎么回事?
public static void main(String[] args) throws IOException{
          FileInputStream fi = new FileInputStream("f:\\初雪.mp3");
          FileOutputStream fo = new FileOutputStream("c:\\初雪.mp3");
          BufferedInputStream bi = new  BufferedInputStream(fi);
          BufferedOutputStream bo = new  BufferedOutputStream(fo);
          int len =0;
         
          while((len=bi.read(bt))!=-1){
                  bo.write(len);
          }
          bi.close();
          bo.close();
          }

30 个回复

倒序浏览
木有明白你的意思,难道是说复制到c盘不行?
回复 使用道具 举报
你先在C盘随便建个文件看看行不行
回复 使用道具 举报
楼主 你的read方法里的bt是什么 缓冲区数组? 你定义了吗?
回复 使用道具 举报
用的是win7的系统吧,你的安全等级不够,你把安全等级调到最低就可以了
回复 使用道具 举报
while  里面的bt是什么?
回复 使用道具 举报
while((len=bi.read(bt))!=-1){
                  bo.write(len);
          }

我们用了缓冲区,直接 while((len=bi.read())!=-1)就行了
不是用定义数组存储读到的字符
回复 使用道具 举报
是不是缺少这样一个东西
  1. byte [] bt = new byte[1024];
复制代码
不然,你的bt哪来的?
回复 使用道具 举报
柳超 中级黑马 2014-8-13 20:48:00
9#
我的win8系统也是,系统文件权限不够
回复 使用道具 举报
去掉read方法里的bt,你还没定义字节数组
回复 使用道具 举报
系统权限不够吧                                                                             
回复 使用道具 举报
进来学习学习,IO不是很懂-。-
回复 使用道具 举报
同感,学习学习~
回复 使用道具 举报
楼上的哥们,无主题 纯回复 18分0.0...  佩服你的坚持。。。
回复 使用道具 举报
具体什么错误?楼主要写明白,是异常,还是变异错误?
回复 使用道具 举报
你要么把bt去掉,要么在上面加一个byte数组!
回复 使用道具 举报
liqi 中级黑马 2014-8-14 06:57:15
17#
刷新召唤 发表于 2014-8-13 15:24
楼主 你的read方法里的bt是什么 缓冲区数组? 你定义了吗?

这跟数组没关系,数组可用可不用,用了效率当然高
回复 使用道具 举报
liqi 中级黑马 2014-8-14 06:58:24
18#
ssy1939 发表于 2014-8-13 01:43
木有明白你的意思,难道是说复制到c盘不行?

对啊,只要往c盘复制,一大堆错误
回复 使用道具 举报
liqi 中级黑马 2014-8-14 06:59:47
19#
snowaves 发表于 2014-8-13 16:19
用的是win7的系统吧,你的安全等级不够,你把安全等级调到最低就可以了

win8的,我试试
回复 使用道具 举报
liqi 中级黑马 2014-8-14 07:01:04
20#
fantacyleo 发表于 2014-8-13 01:49
你先在C盘随便建个文件看看行不行

确实不可以,谢了,看来不是程序的问题,是计算机设置的问题了
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马