为什么下载的文件大小与服务器中的原始文件不同?

时间:2013-09-17 08:27:53

标签: java servlets file-io

我在服务器中有一个文件。 A.xls。 客户希望它被加密。所以我做了。 新文件名是B.xls。 当我使用HttpServletResponse流下载B.xls时,结果让我感到困惑。 因为下载的文件大小与B.xls不同。

A.xls大小为3kb。 B.xls大小为6kb。 但下载的文件大小为5kb。

请给我一个提示来解决这个问题。 提前谢谢。

///////////////////////////////////////////
///// this is my code. ////////////////////

File file = new File(tempDir+filename);
FileOutputStream fos = new FileOutputStream( file );  
byte[] readBuff = new byte[4096];
int readLen = -1;           
try {  
    while( ( readLen = is.read( readBuff ) ) != -1 ) {
      fos.write( readBuff, 0, readLen );
    }
    fos.flush();
} finally {
    if( fos != null ) {
        try {fos.close();} catch( IOException e ) { e.printStackTrace(); }
    }                       
}

//## Encrypt the target File ##
// Do - Something
// the new file name is enc_filename

outputStream = response.getOutputStream();
File encFile = new File(tempDir+enc_filename);
System.out.println("enc file size :" + encFile.length());
outputStream = response.getOutputStream();
inputStream = new FileInputStream( encFile );
readLen = -1;
while( ( readLen = inputStream.read() ) != -1 ) {
    outputStream.write(readLen);
}
outputStream.flush();
......
close stream code....
......

0 个答案:

没有答案