小编use*_*916的帖子

关闭ByteArrayOutputStream的最佳方法是什么?

我需要优化使用过多堆内存的应用程序.我在使用相同的文件后关闭ByteArrayOutputStream变量时遇到问题.我尝试使用close()但它不起作用.这是代码:

ByteArrayOutputStream zipOutTempStream = new ByteArrayOutputStream();
//arquivo.getZipStream() has the XML received by FTP.
//STreamEtils is the function who transfers the XML to zipOutTempStream
StreamUtils.copiarStream(arquivo.getZipStream(), zipOutTempStream);

            //Creating a new XML to write over this.
            File arquivo1 = new File("C:/XML.xml");
            if (arquivo1.exists()) {
                System.out.println("ele existe");
            } else {
                if (arquivo1.createNewFile()) {
                    System.out.println("arquivo criado");
                } else {
                    System.out.println("arquivo não criado");
                }
            }

            FileOutputStream arquivo2 = new FileOutputStream(arquivo1);
            //Copy the unziped XML to the new xml created.
            StreamUtils.copiarStream(StreamUtils                .uncompressXmlFromZipStream(new ByteArrayInputStream(zipOutTempStream.toByteArray())), arquivo2);
            arquivo.setZipStream(null);
            arquivo.setXmlStream(null)      
return …
Run Code Online (Sandbox Code Playgroud)

java memory heap stream bytearrayoutputstream

3
推荐指数
1
解决办法
6680
查看次数

标签 统计

bytearrayoutputstream ×1

heap ×1

java ×1

memory ×1

stream ×1