Tag: compression

使用Java ImageIO进行Tiff压缩

我在将png转换为tiff时遇到问题。 转换很顺利,但图像很大。 我认为问题是我没有正确地进行压缩? 任何人都有任何建议? 这是代码示例 public static void test() throws IOException { // String fileName = “4958813_1”; String fileName = “4848970_1”; String inFileType = “.PNG”; String outFileType = “.TIFF”; ImageIO.scanForPlugins(); File fInputFile = new File(“I:/HPF/UU/” + fileName + inFileType); InputStream fis = new BufferedInputStream(new FileInputStream( fInputFile)); PNGImageReaderSpi spi = new PNGImageReaderSpi(); ImageReader reader = spi.createReaderInstance(); […]

Java RMI + SSL +压缩=不可能!

我已经设置了RMI + SSL。 这很好用。 但似乎不可能在RMI和SSL之间减少压缩。 这样RMI请求在通过SSL发送之前就会被压缩。 我在网上看到一些post建议使用SSLSocketFactory.createSocket() ,它使用Socket将SSL包装在压缩套接字上。 但这似乎会尝试压缩SSL协议本身,这可能不是非常可压缩的。 我想我应该创建一个Socket代理( Socket子类,它推迟到另一个Socket ,就像FilterOutputStream那样)。 让代理用压缩包装输入/输出流。 让我的SocketFactory和ServerSocketFactory返回代理,包装SSLSocket 。 但后来我们遇到了缓冲问题。 压缩缓冲数据,直到它足够值得压缩,或被告知要刷新。 当您没有通过套接字进行来回通信时,这很好。 但是使用RMI中的缓存套接字,你就可以了。 无法识别RMI请求的结束,因此您可以刷新压缩数据。 Sun有一个RMISocketFactory示例做这样的事情,但他们根本没有解决这个问题。 笔记: 1. SSL支持压缩,但我在JSSE中找不到任何关于启用它的信息 2.我知道对许多小的无关块进行压缩(因为RMI通常由其组成)并不是非常有益。 3.我知道如果我发送大量请求,RMI不是最好的选择。 4. Java 6中有一个SSLRMISocketFactory ,但它不会在我的自定义实现中添加任何内容。