代码和其他网上的差不多,我怎么觉得这块会有问题 try {
CreatSDdir(path);

file = CreatSDfile(path + "/" + filename);

System.out.println("write file:" + file);

out = new FileOutputStream(file);

byte[]buffer = new byte[4*1024];

while((input.read(buffer)) != -1){

out.write(buffer);
//buffer=null;

}也是这样操作的,每次拆行时候写入的文件大小都不一样.这里的input.read是以内存文式读取(二制制)还是字符的,也有可能是本人不懂java .这里面的buffer读完一次不用清空吗,不然不是会有上一次的数据叠在一起,但是那如果改成buffer =null;马上段错误了.