java web开发中,文件上传真是太常要的功能了。
对文件上传代码 可以说知道IO操作的人 都知道如何去写,写出来的程序都能达到功能需求。
哪么写出来的质量如何,就得去比较。
这是一段:
public static void uploadFile(InputStream inputStream,
String saveDirectory, String saveFileName) {
final int BUFFER_SIZE = 0x200000;// 2M的缓冲
try {
BufferedOutputStream buf = new BufferedOutputStream(
new FileOutputStream(saveDirectory + File.separator
+ saveFileName), BUFFER_SIZE);
BufferedInputStream inbuf = new BufferedInputStream(inputStream,
BUFFER_SIZE);
byte[] buffer = new byte[BUFFER_SIZE];
int bytesRead = 0;
while ((bytesRead = inbuf.read(buffer, 0, buffer.length)) != -1) {
buf.write(buffer, 0, bytesRead);// 将文件写入服务器
}
buf.flush();
buf.close();
inbuf.close();
} catch (Exception e) {
throw new RuntimeException("---[FileUtil uploadFile]----");
}
}
再看另一段:
public static void writeToFile(FormFile imgFile, String origionalPath) throws IOException{
//保存上传的文件
FileOutputStream oldimage = null;
InputStream fin = null;
byte[] data = new byte[8192];
try {
fin = imgFile.getInputStream();
oldimage=new FileOutputStream(origionalPath);
do{
int rc = fin.read(data);
if(rc == -1)
break;
oldimage.write(data, 0, rc);
if(rc < data.length)
break;
}while(true);
}finally{
data = null;
if(oldimage!=null)
oldimage.close();
if(fin!=null)
fin.close();
}
}
通过两段代码的比较,可见两个人的编码水平如何。