现在有这样一个需求:要求在上传文件时,凡是上传的文件,只要内容相同就只在服务器保存一份。
如何比较文件内容?如果当时思维受限,很难想到来比较文件内容的办法。
解决办法:
文件上传,肯定少不了用流来读文件,文件内容相同的根源就是:流读出来的字节码相同。这就想到了解决的办法,可是问题又来了。怎么比较字节码?想想那么长的字节码,如果用字符串的equals方法来比较,这不是一个好的解决办法。经过一番思考,我决定把流读出来的字节码进行MD5加密,用加密后的字符串来当作文件的文件名,然后在进行文件的上传(文件内容相同,自然文件名也就相同咯,然后就自动覆盖了),这样就解决了该需求。