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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 吴通 中级黑马   /  2012-9-8 16:51  /  1508 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 吴通 于 2012-9-11 21:58 编辑

import java.io.*;
import java.util.*;
class SplitFileDemo
{
public static void main(String[] args)throws IOException
{
  splitFile();
}
public static void splitFile()throws IOException
{
  FileInputStream fis=new FileInputStream("1.JPG ");
  FileOutputStream fos=null;
  byte[] buf=new byte[1024*1024];
  int len=0;
  int count=1;
  while((len=fis.read(buf))!=-1)
  {
   fos=new FileOutputStream("splitfiles"+(count++)+".part");
   fos.write(buf,0,len);
   fos.close();
  }
  fis.close();
}
}

用上面的代码切割一个图片(4.12 MB),老师说切割的文件不能够双击执行,但是
切割完之后双击第一个能够执行,只是显示不全,第二、第三、第四、第五都不能
显示?第一个问什么能显示啊?

2 个回复

倒序浏览
本帖最后由 牛杨 于 2012-9-9 14:33 编辑

对于楼主的问题,我觉得是文件系统方面的问题。我感觉是因为第一个切割出来的图片带的有原来这个图片文件的文件头信息或者图片标记信息之类的东西。所以就能够显示出来。
当然,这只是我个人的理解,一家之言。不知道对不对,希望楼主不要迷信哦。
同时希望我的回答能起到抛砖引玉的作用。
回复 使用道具 举报
牛杨 发表于 2012-9-9 10:23
对于楼主的问题,我觉得是文件系统方面的问题。我感觉是因为一个切割出来的图片带的有原来这个图片文件的文 ...

同意............
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马