当前位置: 首页 > news >正文

专业的制作网站开发公司优化大师会员兑换码

专业的制作网站开发公司,优化大师会员兑换码,广州做营销网站公司,网络维护管理若是使用Java自带的压缩工具包来实现解压缩文件到指定文件夹的功能#xff0c;因为jdk提供的zip只能按UTF-8格式处理#xff0c;而Windows系统中文件名是以GBK方式编码的#xff0c;所以如果是解压一个包含中文文件名的zip包#xff0c;会报非法参数异常#xff0c;所以要…若是使用Java自带的压缩工具包来实现解压缩文件到指定文件夹的功能因为jdk提供的zip只能按UTF-8格式处理而Windows系统中文件名是以GBK方式编码的所以如果是解压一个包含中文文件名的zip包会报非法参数异常所以要实现解压缩就得对DeflaterOutputStream.java、InflaterInputStream.java、ZipConstants.java、ZipEntry.java、ZipInputStream.java以及ZipOutputStream.java这些相关的类进行修改过程如下因为从 J2SE 1.4 开始Java 编译器不再支持 import 进未命包名的类、接口所以在创建的Java项目中一定要新建一个自己定义的包包命名的格式一般为学校域名的逆序自己的网名比如cn.edu.xidian.crytoll。在包内新建DeflaterOutputStream类代码如下DeflaterOutputStream.java:package cn.edu.xdian.crytoll;import java.io.FilterOutputStream;import java.io.IOException;import java.io.OutputStream;import java.util.zip.Deflater;/*** This class implements an output stream filter for compressing data in* the deflate compression format. It is also used as the basis for other* types of compression filters, such as GZIPOutputStream.** see     Deflater* version     1.36, 03/13/06* author  David Connelly*/publicclass DeflaterOutputStream extends FilterOutputStream {/*** Compressor for this stream.*/protected Deflater def;/*** Output buffer for writing compressed data.*/protected byte[] buf;/*** Indicates that the stream has been closed.*/private boolean closed false;/*** Creates a new output stream with the specified compressor and* buffer size.* param out the output stream* param def the compressor (deflater)* param size the output buffer size* exception IllegalArgumentException if size is 0*/public DeflaterOutputStream(OutputStream out, Deflater def, int size) {super(out);if (out null || def null) {throw new NullPointerException();} else if (size 0) {throw new IllegalArgumentException(buffer size 0);}this.def def;buf new byte[size];}/*** Creates a new output stream with the specified compressor and* a default buffer size.* param out the output stream* param def the compressor (deflater)*/public DeflaterOutputStream(OutputStream out, Deflater def) {this(out, def, 512);}boolean usesDefaultDeflater false;/*** Creates a new output stream with a default compressor and buffer size.* param out the output stream*/public DeflaterOutputStream(OutputStream out) {this(out, new Deflater());usesDefaultDeflater true;}/*** Writes a byte to the compressed output stream. This method will* block until the byte can be written.* param b the byte to be written* exception IOException if an I/O error has occurred*/public void write(int b) throws IOException {byte[] buf new byte[1];buf[0] (byte)(b 0xff);write(buf, 0, 1);}/*** Writes an array of bytes to the compressed output stream. This* method will block until all the bytes are written.* param b the data to be written* param off the start offset of the data* param len the length of the data* exception IOException if an I/O error has occurred*/public void write(byte[] b, int off, int len) throws IOException {if (def.finished()) {throw new IOException(write beyond end of stream);}if ((off | len | (off len) | (b.length - (off len))) 0) {throw new IndexOutOfBoundsException();} else if (len 0) {return;}if (!def.finished()) {// Deflate no more than stride bytes at a time.  This avoids// excess copying in deflateBytes (see Deflater.c)int stride buf.length;for (int i 0; i len; i stride) {def.setInput(b, off i, Math.min(stride, len - i));while (!def.needsInput()) {deflate();}}}}/*** Finishes writing compressed data to the output stream without closing* the underlying stream. Use this method when applying multiple filters* in succession to the same output stream.* exception IOException if an I/O error has occurred*/public void finish() throws IOException {if (!def.finished()) {def.finish();while (!def.finished()) {deflate();}}}/*** Writes remaining compressed data to the output stream and closes the* underlying stream.* exception IOException if an I/O error has occurred*/public void close() throws IOException {if (!closed) {finish();if (usesDefaultDeflater)def.end();out.close();closed true;}}/*** Writes next block of compressed data to the output stream.* throws IOException if an I/O error has occurred*/protected void deflate() throws IOException {int len def.deflate(buf, 0, buf.length);if (len 0) {out.write(buf, 0, len);}}}
http://www.huolong8.cn/news/228933/

相关文章:

  • 郑州市做网站的公东莞做工业产品网站建设
  • 大型旅游网站源码 织梦电子商务网站建设考卷
  • 贤邦网站建设app开发wordpress溢价主题
  • 公司网站公司新闻南昌哪个网站建设比较好
  • 全广告网站松原手机网站开发公司
  • 农家乐网站开发项目背景开发一套app要多少钱
  • 网站备案 办公室电话wordpress在哪下载模板
  • 著名的网站制作公司网站主页样式
  • 昆明做网站哪家便宜常州seo第一人
  • 无锡高端网站建设公司哪家好阳春网站开发
  • 台州地区网站建设中山移动网站设计公司
  • 中国建设工程招投网站需求分析 网站
  • 高密做网站的价格电商网站建设维护费会计分录
  • 江苏建设厅网站电话多少做微商在哪个网站打广告好
  • 网站建设swot视频模板免费制作
  • 昆明网站公司建设手机网站设计公司皆选亿企邦
  • 广州公司网站设计制作网站 在百度搜索不到
  • 道滘镇网站建设奇葩网站100个
  • 广东网站建设人员网站制作哪些公司好
  • 百科网站程序郑州网络推广电话
  • 自建网站的缺点做网站需要每年都交钱吗
  • 中英文微信网站开发短视频运营是做什么的
  • 深圳网站设计有哪些济南网站app开发的
  • 宿州网站开发网站使用问题
  • 东莞建设网站企业沟通平台创建网站销售产品
  • 关于网站建设的专家研讨会网络短剧免费观看
  • 网站实现多语言建设工程168网站
  • 湖州市建设培训中心网站注册城乡规划师教材
  • 个人网站可以做百度竞价建设网站服务请示
  • 网站服务器租一个月门店零售管理系统