代码如下:
package file;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class FileSplit {
public static void main(String\[\] args) {
// TODO Auto-generated method stub
File fileInput = new File("/Users/apple/Desktop/自学.xmind");
File fileOut = new File("/Users/apple/Desktop/Result");
if(!fileOut.exists()) {
fileOut.mkdirs();
}
byte\[\] a = new byte\[819200\];
int number = 0;
try {
FileInputStream fis = new FileInputStream(fileInput);
try {
while(fis.read(a) != -1) {
System.out.println("-----" + number + "-----");
File fileNumber = new File(fileOut + File.separator + "eclipse.exe-" + number);
FileOutputStream fos = new FileOutputStream(fileNumber);
fos.write(a);
number++;
fos.close();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
fis.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
上述代码的目的是为了把一个文件按照每隔100kb拆分成若干个小文件,然后保存在特定文件夹里,但是我运行发现每次只存了第一个文件,后续其他都存不了,不知道是什么问题?
我自己找到答案了,代码如下:
应该是我对byte和kb之间的进制搞错了