`

两段代码审视编码能力

阅读更多

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();
		}
	}

 

通过两段代码的比较,可见两个人的编码水平如何。

 

同步bolg :http://www.java1995.cn/blog/item/40

0
0
分享到:
评论
3 楼 johnson.lee 2009-12-05  
新手往往是进门的时候,开了门,走了时候,拍屁股就走人,忘记随手把门带上了。
2 楼 east_java 2009-12-02  
johnson.lee 写道
原来是缓冲与非缓冲流的效率问题。

呵呵。。。再仔细看看哟
1 楼 johnson.lee 2009-11-27  
原来是缓冲与非缓冲流的效率问题。

相关推荐

Global site tag (gtag.js) - Google Analytics