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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. package FileOutputStream;

  2. import java.io.*;
  3. public class CopyPic {

  4.         public static void main(String[] args) throws IOException{

  5.                 FileOutputStream fos = null;
  6.                 FileInputStream fis = null;
  7.                
  8.                 try{
  9.                         fos = new FileOutputStream("b.JPEG");// 我这个就打开看不到 咋弄的
  10.                         fis = new FileInputStream("a.JPEG");
  11.                        

  12. //                        fos = new FileOutputStream("QQ11.bmp");
  13. //                        fis = new FileInputStream("QQ1.bmp");
  14. //                       
  15.                         byte[] buf = new byte[1024];
  16.                         int len = 0;
  17.                         while((len = fis.read(buf))!= -1)
  18.                         {
  19.                                 fos.write(buf, 0, len);
  20.                         }
  21.                 }
  22.                 catch(IOException e)
  23.                 {
  24.                         System.out.println("复制文件失败");
  25.                 }
  26.                 finally{
  27.                         try{
  28.                                 if(fis != null)
  29.                                         fis.close();
  30.                         }
  31.                         catch(IOException e)
  32.                         {
  33.                                 System.out.println("读关闭失败");
  34.                         }               
  35.                        
  36.                         try{
  37.                                 if(fos != null)
  38.                                         fos.close();
  39.                         }
  40.                         catch(IOException e)
  41.                         {
  42.                                 System.out.println("写入关闭失败");
  43.                         }               
  44.                        
  45.                 }
  46.         }
  47. }
复制代码

地下的那个QQ 截图就能打开,上面的那个a 拷贝b 就不能打开,确实能拷贝但是不能打开
大小现实的是0 字节咋弄的呢。

11 个回复

正序浏览
看着应该没错
回复 使用道具 举报
夏俊男 发表于 2014-12-12 21:11
fos写到byte缓冲区之后,没有flush吧,所以一直是0字节

不是  字节流不用刷新的
回复 使用道具 举报
史云龙 发表于 2014-12-12 22:26
我试了,没啥问题啊。

我去了,我咋不行

点评

我也不知道啊。  发表于 2014-12-12 23:26
回复 使用道具 举报
本帖最后由 史云龙 于 2014-12-12 22:30 编辑
wangcongwu 发表于 2014-12-12 22:19
没错啊第二行是我要复制的文件,第一行是我的目标文件,a 是第一个字母啊所以a 文件是源文件,b 是第二个 ...

我试了,没啥问题啊。

回复 使用道具 举报
史云龙 发表于 2014-12-12 11:41
我试了试代码,没问啊。。。把图片存成jpeg格式的也没有问题。你的第一行为输出流,第二行为输入流,文件存 ...

没错啊第二行是我要复制的文件,第一行是我的目标文件,a 是第一个字母啊所以a 文件是源文件,b 是第二个字母所以b 是复制的文件啊,现在b 依然是0 字节,你试了吗 jpeg 也没问题吗
回复 使用道具 举报
夏俊男 发表于 2014-12-12 21:11
fos写到byte缓冲区之后,没有flush吧,所以一直是0字节

加了也没用
回复 使用道具 举报
fos写到byte缓冲区之后,没有flush吧,所以一直是0字节
回复 使用道具 举报
我试了试代码,没问啊。。。把图片存成jpeg格式的也没有问题。你的第一行为输出流,第二行为输入流,文件存储没弄反吧。
回复 使用道具 举报
fos = new FileOutputStream("b.JPEG");//这里的fos被后面的 fos = new FileOutputStream("QQ11.bmp"); 覆盖了。fos.write写在后面的那个fos对象
回复 使用道具 举报
后缀名是不是jpg的,不是JPEG的?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马