我有一个使用PRIMEFACES3.3SNAPSHOT组件的JSF2.0(Trinidad)应用程序,我正在尝试使用p:schedule,但每次调用带有标签的页面时,我都会遇到异常。奇怪的是,当我使用没有特立尼达的普通JSF应用程序时,它可以正常工作。这是堆栈跟踪:`SEVERE:java.io.IOException:不是GZIP格式在java.util.zip.GZIPInputStream.readHeader(GZIPInputStream.java:137)在java.util.zip.GZIPInputStream.(GZIPInputStream.java:58)在org
我有一个类,它有一个接收对象作为参数的方法。此方法通过RMI调用。publicRMIClassextendsSerializable{publicRMIMethod(MyFilefile){//dostuff}}MyFile有一个名为“body”的属性,它是一个字节数组。publicfinalclassMyFileimplementsSerializable{privatebyte[]body=newbyte[0];//....publicbyte[]getBody(){returnbody;}//....}此属性保存由另一个应用程序解析的文件的gzip数据。在对它执行进一步的操作之前
intBUFFER_SIZE=4096;byte[]buffer=newbyte[BUFFER_SIZE];InputStreaminput=newGZIPInputStream(newFileInputStream("a_gunzipped_file.gz"));OutputStreamoutput=newFileOutputStream("current_output_name");intn=input.read(buffer,0,BUFFER_SIZE);while(n>=0){output.write(buffer,0,n);n=input.read(buffer,0,BUFF
除了最有经验的JAVA用户之外,我什么都不是,但是,我对我的问题感到非常绝望。每次执行以下代码时,都会收到以下错误:java.util.zip.ZipException:NotinGZIPformatatjava.util.zip.GZIPInputStream.readHeader(UnknownSource)atjava.util.zip.GZIPInputStream.(init)(UnknownSource)atjava.util.zip.GZIPInputStream.(init)(UnknownSource)atDidYouMean.executeGet(DidYouMea
我正在尝试使用以下Java代码来压缩和解压缩字符串。但是从新的ByteArrayInputStream对象创建新的GZipInputStream对象的行抛出“java.util.zip.ZipException:不是GZIP格式”异常。有谁知道如何解决这个问题?Stringorig=".............";//compressitByteArrayOutputStreambaostream=newByteArrayOutputStream();OutputStreamoutStream=newGZIPOutputStream(baostream);outStream.write
我需要读取/解压给定FileChannel的.gz文件。我尝试过使用GZIPInputStream提取GZIP文件,但这不会占用FileChannel。我无权访问从中获取FileChannel的原始FileInputStream。如果有人能告诉我从FileChannel读取GZIP的好方法(或至少任何方法),我将不胜感激。改编自SunOracleforums上的一个问题. 最佳答案 您可以获得一个环绕FileChannel的InputStream:FileChannelfc=...GZIPInputStreamgis=newGZIP
FileInputStreamfis=newFileInputStream(gzipFile);GZIPInputStreamgis=newGZIPInputStream(fis);gis.close();fis.close();fis.close()是必要的吗?虽然我正在运行这段代码,但似乎没有出现任何错误。 最佳答案 您应该看到GZIPInputStream.close()的实现。/***Closesthisinputstreamandreleasesanysystemresourcesassociated*withthestr
我在我的程序中使用GZIPInputStream,我知道如果我能让Java并行运行我的程序,性能会有所提高。一般来说,是否有让标准虚拟机在多核上运行的命令行选项?它只在一个上运行。谢谢!编辑我在WindowsXP上运行普通的JavaSE6更新17。将GZIPInputStream放在一个单独的线程上是否有明确的帮助?没有!不要将GZIPInputStream放在单独的线程上!不要多线程I/O!编辑2我想I/O是瓶颈,因为我正在读取和写入同一个磁盘...不过,一般来说,有没有办法让GZIPInputStream更快?还是并行运行的GZIPInputStream的替代品?编辑3我使用的代码
我调用了一个返回压缩文件的服务。我从响应中将数据作为InputStream(由javax.activation.DataHandler.getInputStream();提供)提供。我想做的是,在不向磁盘写入任何内容的情况下,获取存档文件中解压缩数据的InputStream。在这种情况下,压缩文件是一个xml文档,我试图使用javax.xml.bind.Unmarshaller对其进行解码,它采用InputStream。我目前正在尝试将InputStream写入OutputStream(解压缩数据),然后我需要将其写回InputStream。它还没有用,所以我想我会看看是否有更好的(我
我正在尝试使用GZIPInputStream解压缩GZIP压缩的HTTP响应。但是,当我尝试读取流时,我总是遇到相同的异常:java.util.zip.ZipException:invalidbitlengthrepeat我的HTTP请求header:GETwww.myurl.comHTTP/1.0\r\nUser-Agent:Mozilla/5.0(Windows;U;WindowsNT6.1;fr;rv:1.9.2)Gecko/20100115Firefox/3.6\r\nAccept:text/html,application/xhtml+xml,application/xml;