草庐IT

bytearrayoutputstream

全部标签

java - 使用 ZipOutPutStream Java 压缩(zip)文件列表

我正在尝试压缩在字符串上转换的Xml列表,将它们保存在一个zip文件中,并在restful上作为POST的正文返回。但每次保存文件时,我都会收到错误消息“存档格式未知或已损坏”。protectedByteArrayOutputStreamzip(MapmapConvertedXml){ByteArrayOutputStreambaos=newByteArrayOutputStream();ZipOutputStreamzos=newZipOutputStream(baos);try{for(Map.Entrycurrent:mapConvertedXml.entrySet()){Zip

java - HTML 标签正在转换

我有以下代码片段可以从存储在数据库表中的XML数据中输出ServletOutputStreamos=response.getOutputStream();StringcontentDisposition="attachment;filename=Test.HTML";response.setHeader("Content-Disposition",contentDisposition);response.setContentType("text/html");XMLNodexmlNode=(XMLNode)am.invokeMethod("getDataXML");ByteArrayO

在一个巨大的目录中转换 XML 时出现 java.lang.OutOfMemoryError

我想使用XSLT2在具有很多级别的巨大目录中转换XML文件。有超过100万个文件,每个文件为4到10kB。一段时间后,我总是收到java.lang.OutOfMemoryError:Java堆空间。我的命令是:java-Xmx3072M-XX:+UseConcMarkSweepGC-XX:+CMSClassUnloadingEna放血-XX:MaxPermSize=512M...向-Xmx添加更多内存不是一个好的解决方案。这是我的代码:for(Filefile:dir.listFiles()){if(file.isDirectory()){pushDocuments(file);}el

java - 使用注释时如何在 JAXB 解码器上设置自定义 ValidationEventHandler

我们结合使用JAX-WS和JAXB来接收和解析XML网络服务调用。它都是基于注释的,即我们永远不会在代码中获取JAXBContext。我需要在解码器上设置自定义ValidationEventHandler,这样如果不接受特定字段的日期格式,我们就可以捕获错误并在响应中报告一些不错的内容。我们在相关字段上有一个XMLJavaTypeAdapter,它进行解析并抛出异常。我看不到如何使用我们拥有的基于注释的配置将ValidationEventHandler设置到解码器上。有什么想法吗?注意:同一个问题thiscomment目前没有答案。 最佳答案

java - 从 Java 启动的子进程使用 waitFor 完成但流未终止

我正在使用Java的ProcessBuilder启动一个子进程,这是另一个必须在单独的JVM中运行的Java程序。我启动了两个线程来从进程的stdout和stderr流中读取数据,这样即使流缓冲区已满也不会挂起。对Process.waitFor的调用返回,但流并未终止。我使用的代码看起来像(命令是一个字符串列表):ProcessBuilderpb=newProcessBuilder(command);finalProcessp=pb.start();finalByteArrayOutputStreamoutStream=newByteArrayOutputStream();finalB

java - 如何将 ZIP 文件附加到 Java 中的电子邮件?

我正在使用AWSSES。我正在尝试将ZIP文件附加到在内存中创建的CSV电子邮件。我很接近,但很难弄清楚这一点。目前,当我收到电子邮件时,我仍然收到一个.CSV,但打开后,内容似乎是压缩的。如何压缩文件而不压缩内容?文件当前正在作为一个字节数组接收:publicvoidemailReport(byte[]fileAttachment,StringattachmentType,StringattachmentName,Listemails)throwsMessagingException,IOException{......//AttachmentmessageBodyPart=newM

java - BufferedInputStream 到 ByteArrayOutputStream 非常慢

我有一个与以下链接非常相​​似的问题:PDFtobytearrayandviceversa主要区别在于我试图通过包含二进制的ServerSocket而不是文件来解释Socket连接。这按预期工作。但是,我遇到的问题是这个过程需要很长时间才能读入内存,大约1分30秒读取500字节(尽管每个流的大小会有很大差异)这是我的代码:BufferedInputStreaminput=newBufferedInputStream(theSocket.getInputStream());byte[]buffer=newbyte[8192];intbytesRead;ByteArrayOutputStr

java - 为什么可以从已经关闭的 ByteArrayOutputStream 中读取数据?

我想知道为什么您仍然可以从已经关闭的ByteArrayOutputStream中读取字节。文档中的这一行不是相反的意思吗?publicvoidclose():Closesthisstream.Thisreleasessystemresourcesusedforthisstream.示例代码:Stringdata="Somestring...";ByteArrayOutputStreambOut=newByteArrayOutputStream();DataOutputStreamdOut=newDataOutputStream(bOut);dOut.write(data.getByte

java - 以编程方式查找 float 的大小

免责声明:此题可能没有实际值(value),更像是一道解谜/好奇题。在Java中,我可以编写以下代码以编程方式查找int的大小:publicstaticvoidmain(String[]args){intx=1;intcount=1;while((x=x是否有类似的方法以编程方式查找Java的float的大小? 最佳答案 将float写入ByteArrayOutputStream并获取结果的长度。importjava.io.*;classTest{publicstaticvoidmain(String[]args)throwsExc

java - 使用java加密整数

我正在尝试使用java.security和javax.crypto在java中加密一些整数。问题似乎是Cipher类只加密字节数组。我不能直接将整数转换为字节字符串(我可以吗?)。执行此操作的最佳方法是什么?我是否应该将整数转换为字符串并将字符串转换为byte[]?这看起来效率太低了。有谁知道快速/简单或有效的方法吗?请告诉我。提前致谢。jbu 最佳答案 您可以使用DataOutputStream将int转换为byte[],如下所示:ByteArrayOutputStreambaos=newByteArrayOutputStream