2013-04-09 80 views
0

我有一个xml文档的输出流。我将所有PDF文件都附加到一个zip文件中。一旦完成附加所有PDF文件,我想附加XML文档。但我得到的只是空的xml文件。在其他PDF文件中附加一个zip文件中的XML文件

这是我在做什么

byte b[] = new byte[10240]; 
ZipOutputStream zout = new ZipOutputStream(getOutputStream("ExampleForms.zip", attach)); 
for(int i = 0; i < pdfs.length; i++){ 
    File f = File.createTempFile(pdfs[i].NAME, ".pdf"); 
    FileOutputStream fo = new FileOutputStream(f); 
    pdfs[i].render(fo); 
    fo.close(); 
    InputStream in = new FileInputStream(f); 
    ZipEntry e = new ZipEntry(pdfs[i].NAME + ".pdf"); 
    zout.putNextEntry(e); 
    int len=0; 
    while((len=in.read(b)) != -1) { 
      zout.write(b,0,len); 
    } 
    in.close(); 
    zout.closeEntry(); 
    f.delete(); 
}  
/* out is my outputstream in which i have written xml document */ 
File f = File.createTempFile("SampleXmlFile.xml"); 
FileOutputStream fo = new FileOutputStream(f); 
fo.write(out.toString().getBytes()); 
fo.close(); 
InputStream is = new FileInputStream(f); 
ZipEntry e = new ZipEntry("MyXmlFile",".xml"); 
zout.putNextEntry(e); 
int lent = 0; 
while((lent = is.read(bt)) != -1){ 
    zout.write(bt,0,lent); 
} 
is.close(); 
zout.closeEntry(); 
zout.close(); 

回答

1

1)通过所有的可能性out是空

2)为什么要使用临时文件?使用

zout.write(out.toString().getBytes()); 
相关问题