1 package java_IO.Test_1.File_Split_and_SequeceDemo; 2 3 import java.io.File; 4 import java.io.FileInputStream; 5 import java.io.FileOutputStream; 6 import java.io.IOException; 7 8 public class FileSplit { 9 10 private File file;11 private int size;12 13 public FileSplit(File file, int size) {14 // TODO Auto-generated constructor stub15 this.file = file;16 this.size = size * 1024 * 1024;17 18 }19 20 public void Spliting() throws IOException {21 // TODO Auto-generated method stub22 23 // 读取源文件24 FileInputStream fis = new FileInputStream(file);25 26 // 创建碎片文件存放目录,若碎片存放目录不存在刚创建27 File dir = new File(file.getParent(), "filesPart");28 if (!dir.exists()) {29 dir.mkdirs();30 }31 32 // 创建缓存区33 byte[] bufb = new byte[1024 * 1024];34 int len = 0;35 36 for (int i = 1;; i++) {37 int sumSize = 0;38 File filePart = new File(dir, i + ".part");39 FileOutputStream fos = new FileOutputStream(filePart);40 while (sumSize < size) {41 if ((len = fis.read(bufb)) != -1) {42 fos.write(bufb, 0, len);43 sumSize += len;44 }45 46 }47 fos.close();48 49 50 }51 fis.close();52 53 54 }55 56 57 }
上述代码实现的是一个文件切割的功能,构造函数参数file是接收要切割的文件,size是用户指定的每个碎片文件的大小 ,问题是在我最后也就是51行关闭读取文件流的时候,报错,说是什么编译错误。求个大大神指点。如看懂给我留言
原标题:java 文件切割,为什么在关闭流的时候报错,51行
关键词:JAVA