0
我有一個excel文件,我想發送作爲電子郵件以及其他文本文件的附件,但我想壓縮這些文件的大小的原因。我將如何去使用InputStream並返回InputStream?任何幫助深表感謝。當試圖壓縮和壓縮多個文件時,如何使用InputStream進行壓縮並作爲InputStream返回?
我有一個excel文件,我想發送作爲電子郵件以及其他文本文件的附件,但我想壓縮這些文件的大小的原因。我將如何去使用InputStream並返回InputStream?任何幫助深表感謝。當試圖壓縮和壓縮多個文件時,如何使用InputStream進行壓縮並作爲InputStream返回?
您可以使用下面的代碼來創建Zip文件。
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
public class ZipFileTest
{
public static void main(String[] args)
{
byte[] buffer = new byte[1024];
try{
FileOutputStream fos = new FileOutputStream("C:\\MyFile.zip");
ZipOutputStream zos = new ZipOutputStream(fos);
ZipEntry ze= new ZipEntry("spy.log");
zos.putNextEntry(ze);
FileInputStream in = new FileInputStream("C:\\spy.log");
int len;
while ((len = in.read(buffer)) > 0) {
zos.write(buffer, 0, len);
}
in.close();
zos.closeEntry();
//remember close it
zos.close();
System.out.println("Done");
}catch(IOException ex){
ex.printStackTrace();
}
}
}
是否將此姿勢作爲未來可能需要壓縮到zip文件的文件的良好模型?我希望這是一個強大的程序,並且在實現時,我正在尋找一種模型的最佳方式,以便在將來要包含另一個文件時僅僅創建一個新實例。 – wheelerlc64
您是否試過ZipInputStream? – hoaz
@hoaz我還沒有。由於剛接觸Java,我不確定要採用哪種方式,尤其是新手,所以我現在有點失落,甚至從哪裏開始。 – wheelerlc64