鸣谢:http://blog.csdn.net/kalision/article/details/7864372

强力推荐解压:http://blog.csdn.net/smile725775/article/details/8223134

1.引言

之前在 压缩与解压1---字符串的压缩与解压(http://www.cnblogs.com/java-pan/archive/2012/05/12/gzip1.html)

中介绍过对字符串的压缩和解压,这个解压和解决用在系统之间大数据传输的时候还是可以大大的减少网络流量的。本节主要本别介绍对单个文件、多个文件的压缩。解压这里就不讲了,解压的话没什么实际意义,因为文件压缩后为zip格式的文件,现在windows系统解压这个格式的文件真是特多了。我个人认为这个压缩文件的功能在以下场景使用就比较合理:比如某运行的系统,在每天或者每周的固定时间会导出一批报表,如果我们不对导出的报表进行压缩,那么磁盘空间会大幅度的增加,如果我们对导出的文件进行压缩,那么磁盘空间的开销就会大大节省。

 

2.文件压缩的中文问题

中文,一直是个头疼的问题,同样,在这里我们对文件压缩也会出现中文乱码问题。对压缩的文件,如果文件名称是中文,压缩完成后,可以看到压缩包中的文件名称是乱码(文件的内容有中文,压缩后不会出现中文乱码问题),对于这种情况我们只要用ANT中的ant.jar中的类就可以解决此问题。压缩过程中会用到ZipEntry和ZipOutputStream类,如果我采用第一种方式,这样就会出现中文乱码;如果我采用第二种方式,中文乱码问题就可以解决。文件运行的对比效果我会在后面把截图贴出来做一下对比。

第一种方式

import java.util.zip.ZipEntry;

import java.util.zip.ZipOutputStream;

以上采用JDK API中自带的类时压缩的文件名会出现中文乱码

第二种方式

import org.apache.tools.zip.ZipEntry; 
import org.apache.tools.zip.ZipOutputStream;

以上采用ANT中ant.jar包的类可以解决压缩的文件名的中文乱码问题

 

3.下载jar包

对于本节我只需要一个jar包,即ant.jar,提供jar包的下载路径如下:

 http://files.cnblogs.com/java-pan/jar-ant.rar

4.method&class

ZipEntry:

ZipOutputStream:

 

5.代码文件

 ZipFileUtil.java

  1. package zip;  
  2.    
  3.  import java.io.File;  
  4.  import java.io.FileInputStream;  
  5.  import java.io.FileOutputStream;  
  6.  import java.io.IOException;  
  7.    
  8.  /*  
  9.   * 采用JDK API中自带的类时压缩的文件会出现中文乱码  
  10.   */  
  11.  //import java.util.zip.ZipEntry;  
  12.  //import java.util.zip.ZipOutputStream;  
  13.    
  14.  /*  
  15.   * 采用ANT中ant.jar包的类可以解决中文乱码问题  
  16.   */  
  17.  import org.apache.tools.zip.ZipEntry;  
  18.  import org.apache.tools.zip.ZipOutputStream;  
  19.    
  20.  /**  
  21.   *Module:          ZipFileUtil.java  
  22.   *Description:    用zip对单个和多个文件进行压缩  
  23.   *Company:       xxx  
  24.   *Version:          1.0.0  
  25.   *Author:           pantp  
  26.   *Date:              May 24, 2012  
  27.   */  
  28.  public class ZipFileUtil {  
  29.    
  30.      public static void main(String[] args) throws Exception {  
  31.            
  32.          /*  
  33.           * 测试单个文件的ZIP压缩   
  34.           * 指定文件路径可以是绝对路径,也可以是相对路径  
  35.           */  
  36.          String file = "src/zip/文件1.txt";  
  37.          String zipFile1 = "src/zip/单个文件压缩.zip";  
  38.          boolean flag1 = zipSingleFile(file, zipFile1);  
  39.          System.out.println("\n**************压缩【单】个文件<author:pantp>******************************\n");  
  40.          if (flag1) {  
  41.              System.out.println("单个文件ZIP压缩成功,压缩后文件所在路径为:"+zipFile1);  
  42.          } else {  
  43.              System.out.println("单个文件ZIP压缩失败");  
  44.          }  
  45.          System.out.println("\n*******************************************************************************");  
  46.            
  47.          /*  
  48.           * 测试多个文件的ZIP压缩  
  49.           * 指定文件路径可以是绝对路径,也可以是相对路径  
  50.           */  
  51.  /*        String files[] = { "src/zip/文件1.txt", "src/zip/file2.txt" };  
  52.          String zipFile2 = "src/zip/多个文件压缩.zip";  
  53.          boolean flag2 = zipFiles(files, zipFile2);  
  54.          System.out.println("\n**************压缩【多】个文件<author:pantp>******************************\n");  
  55.          if (flag2) {  
  56.              System.out.println("多个文件ZIP压缩成功,压缩后文件所在路径为:"+zipFile2);  
  57.          } else {  
  58.              System.out.println("多个文件ZIP压缩失败");  
  59.          }  
  60.          System.out.println("\n*******************************************************************************");  
  61.          */  
  62.      }  
  63.    
  64.      /**  
  65.       *<p>  
  66.       *@param  file 待压缩文件的名称 例如,src/zip/文件1.txt  
  67.       *@param  zipFile 压缩后文件的名称 例如,src/zip/单个文件压缩.zip  
  68.       *@return boolean  
  69.       *@throws :IOException  
  70.       *@Function: zipSingleFile  
  71.       *@Description:单个文件的压缩  
  72.       *@version : v1.0.0  
  73.       *@author: pantp  
  74.       *@Date:May 24, 2012  
  75.       *</p>  
  76.       *Modification History:  
  77.       * Date                     Author          Version         Description  
  78.       * ---------------------------------------------------------------------  
  79.       * May 24, 2012        pantp           v1.0.0           Create  
  80.       */  
  81.      public static boolean zipSingleFile(String file, String zipFile)  
  82.              throws IOException {  
  83.          boolean bf = true;  
  84.          File f = new File(file);  
  85.          if (!f.exists()) {  
  86.              System.out.println("文件不存在");  
  87.              bf = false;  
  88.          } else {  
  89.              File ff = new File(zipFile);  
  90.              if (!f.exists()) {  
  91.                  ff.createNewFile();  
  92.              }  
  93.              // 创建文件输入流对象  
  94.              FileInputStream in = new FileInputStream(file);  
  95.              // 创建文件输出流对象  
  96.              FileOutputStream out = new FileOutputStream(zipFile);  
  97.              // 创建ZIP数据输出流对象  
  98.              ZipOutputStream zipOut = new ZipOutputStream(out);  
  99.              // 得到文件名称  
  100.              String fileName = file.substring(file.lastIndexOf('/') + 1, file.length());  
  101.              // 创建指向压缩原始文件的入口  
  102.              ZipEntry entry = new ZipEntry(fileName);  
  103.              zipOut.putNextEntry(entry);  
  104.              // 向压缩文件中输出数据  
  105.              int number = 0;  
  106.              byte[] buffer = new byte[512];  
  107.              while ((number = in.read(buffer)) != -1) {  
  108.                  zipOut.write(buffer, 0, number);  
  109.              }  
  110.              zipOut.close();  
  111.              out.close();  
  112.              in.close();  
  113.          }  
  114.          return bf;  
  115.      }  
  116.    
  117.      /**  
  118.       *<p>  
  119.       *@param files    待压缩的文件列表 例如,src/zip/文件1.txt, src/zip/file2.txt  
  120.       *@param zipfile 压缩后的文件名称 例如,src/zip/多个文件压缩.zip  
  121.       *@return boolean  
  122.       *@throws :Exception  
  123.       *@Function: zipFiles  
  124.       *@Description:多个文件的ZIP压缩  
  125.       *@version : v1.0.0  
  126.       *@author: pantp  
  127.       *@Date:May 24, 2012  
  128.       *</p>  
  129.       *Modification History:  
  130.       * Date                     Author          Version         Description  
  131.       * ---------------------------------------------------------------------  
  132.       * May 24, 2012        pantp           v1.0.0           Create  
  133.       */  
  134.      public static boolean zipFiles(String[] files, String zipfile)  
  135.              throws Exception {  
  136.          boolean bf = true;  
  137.    
  138.          // 根据文件路径构造一个文件实例  
  139.          File ff = new File(zipfile);  
  140.          // 判断目前文件是否存在,如果不存在,则新建一个  
  141.          if (!ff.exists()) {  
  142.              ff.createNewFile();  
  143.          }  
  144.          // 根据文件路径构造一个文件输出流  
  145.          FileOutputStream out = new FileOutputStream(zipfile);  
  146.          // 传入文件输出流对象,创建ZIP数据输出流对象  
  147.          ZipOutputStream zipOut = new ZipOutputStream(out);  
  148.    
  149.          // 循环待压缩的文件列表  
  150.          for (int i = 0; i < files.length; i++) {  
  151.              File f = new File(files[i]);  
  152.              if (!f.exists()) {  
  153.                  bf = false;  
  154.              }  
  155.              try {  
  156.                  // 创建文件输入流对象  
  157.                  FileInputStream in = new FileInputStream(files[i]);  
  158.                  // 得到当前文件的文件名称  
  159.                  String fileName = files[i].substring(  
  160.                          files[i].lastIndexOf('/') + 1, files[i].length());  
  161.                  // 创建指向压缩原始文件的入口  
  162.                  ZipEntry entry = new ZipEntry(fileName);  
  163.                  zipOut.putNextEntry(entry);  
  164.                  // 向压缩文件中输出数据  
  165.                  int nNumber = 0;  
  166.                  byte[] buffer = new byte[512];  
  167.                  while ((nNumber = in.read(buffer)) != -1) {  
  168.                      zipOut.write(buffer, 0, nNumber);  
  169.                  }  
  170.                  // 关闭创建的流对象  
  171.                  in.close();  
  172.              } catch (IOException e) {  
  173.                  e.printStackTrace();  
  174.                  bf = false;  
  175.              }  
  176.          }  
  177.          zipOut.close();  
  178.          out.close();  
  179.          return bf;  
  180.      }  
  181.        
  182.  }  
[html] view plaincopyprint?
  1. package zip;  
  2.    
  3.  import java.io.File;  
  4.  import java.io.FileInputStream;  
  5.  import java.io.FileOutputStream;  
  6.  import java.io.IOException;  
  7.    
  8.  /*  
  9.   * 采用JDK API中自带的类时压缩的文件会出现中文乱码  
  10.   */  
  11.  //import java.util.zip.ZipEntry;  
  12.  //import java.util.zip.ZipOutputStream;  
  13.    
  14.  /*  
  15.   * 采用ANT中ant.jar包的类可以解决中文乱码问题  
  16.   */  
  17.  import org.apache.tools.zip.ZipEntry;  
  18.  import org.apache.tools.zip.ZipOutputStream;  
  19.    
  20.  /**  
  21.   *Module:          ZipFileUtil.java  
  22.   *Description:    用zip对单个和多个文件进行压缩  
  23.   *Company:       xxx  
  24.   *Version:          1.0.0  
  25.   *Author:           pantp  
  26.   *Date:              May 24, 2012  
  27.   */  
  28.  public class ZipFileUtil {  
  29.    
  30.      public static void main(String[] args) throws Exception {  
  31.            
  32.          /*  
  33.           * 测试单个文件的ZIP压缩   
  34.           * 指定文件路径可以是绝对路径,也可以是相对路径  
  35.           */  
  36.          String file = "src/zip/文件1.txt";  
  37.          String zipFile1 = "src/zip/单个文件压缩.zip";  
  38.          boolean flag1 = zipSingleFile(file, zipFile1);  
  39.          System.out.println("\n**************压缩【单】个文件<author:pantp>******************************\n");  
  40.          if (flag1) {  
  41.              System.out.println("单个文件ZIP压缩成功,压缩后文件所在路径为:"+zipFile1);  
  42.          } else {  
  43.              System.out.println("单个文件ZIP压缩失败");  
  44.          }  
  45.          System.out.println("\n*******************************************************************************");  
  46.            
  47.          /*  
  48.           * 测试多个文件的ZIP压缩  
  49.           * 指定文件路径可以是绝对路径,也可以是相对路径  
  50.           */  
  51.  /*        String files[] = { "src/zip/文件1.txt", "src/zip/file2.txt" };  
  52.          String zipFile2 = "src/zip/多个文件压缩.zip";  
  53.          boolean flag2 = zipFiles(files, zipFile2);  
  54.          System.out.println("\n**************压缩【多】个文件<author:pantp>******************************\n");  
  55.          if (flag2) {  
  56.              System.out.println("多个文件ZIP压缩成功,压缩后文件所在路径为:"+zipFile2);  
  57.          } else {  
  58.              System.out.println("多个文件ZIP压缩失败");  
  59.          }  
  60.          System.out.println("\n*******************************************************************************");  
  61.          */  
  62.      }  
  63.    
  64.      /**  
  65.       *<p>  
  66.       *@param  file 待压缩文件的名称 例如,src/zip/文件1.txt  
  67.       *@param  zipFile 压缩后文件的名称 例如,src/zip/单个文件压缩.zip  
  68.       *@return boolean  
  69.       *@throws :IOException  
  70.       *@Function: zipSingleFile  
  71.       *@Description:单个文件的压缩  
  72.       *@version : v1.0.0  
  73.       *@author: pantp  
  74.       *@Date:May 24, 2012  
  75.       *</p>  
  76.       *Modification History:  
  77.       * Date                     Author          Version         Description  
  78.       * ---------------------------------------------------------------------  
  79.       * May 24, 2012        pantp           v1.0.0           Create  
  80.       */  
  81.      public static boolean zipSingleFile(String file, String zipFile)  
  82.              throws IOException {  
  83.          boolean bf = true;  
  84.          File f = new File(file);  
  85.          if (!f.exists()) {  
  86.              System.out.println("文件不存在");  
  87.              bf = false;  
  88.          } else {  
  89.              File ff = new File(zipFile);  
  90.              if (!f.exists()) {  
  91.                  ff.createNewFile();  
  92.              }  
  93.              // 创建文件输入流对象  
  94.              FileInputStream in = new FileInputStream(file);  
  95.              // 创建文件输出流对象  
  96.              FileOutputStream out = new FileOutputStream(zipFile);  
  97.              // 创建ZIP数据输出流对象  
  98.              ZipOutputStream zipOut = new ZipOutputStream(out);  
  99.              // 得到文件名称  
  100.              String fileName = file.substring(file.lastIndexOf('/') + 1, file.length());  
  101.              // 创建指向压缩原始文件的入口  
  102.              ZipEntry entry = new ZipEntry(fileName);  
  103.              zipOut.putNextEntry(entry);  
  104.              // 向压缩文件中输出数据  
  105.              int number = 0;  
  106.              byte[] buffer = new byte[512];  
  107.              while ((number = in.read(buffer)) != -1) {  
  108.                  zipOut.write(buffer, 0, number);  
  109.              }  
  110.              zipOut.close();  
  111.              out.close();  
  112.              in.close();  
  113.          }  
  114.          return bf;  
  115.      }  
  116.    
  117.      /**  
  118.       *<p>  
  119.       *@param files    待压缩的文件列表 例如,src/zip/文件1.txt, src/zip/file2.txt  
  120.       *@param zipfile 压缩后的文件名称 例如,src/zip/多个文件压缩.zip  
  121.       *@return boolean  
  122.       *@throws :Exception  
  123.       *@Function: zipFiles  
  124.       *@Description:多个文件的ZIP压缩  
  125.       *@version : v1.0.0  
  126.       *@author: pantp  
  127.       *@Date:May 24, 2012  
  128.       *</p>  
  129.       *Modification History:  
  130.       * Date                     Author          Version         Description  
  131.       * ---------------------------------------------------------------------  
  132.       * May 24, 2012        pantp           v1.0.0           Create  
  133.       */  
  134.      public static boolean zipFiles(String[] files, String zipfile)  
  135.              throws Exception {  
  136.          boolean bf = true;  
  137.    
  138.          // 根据文件路径构造一个文件实例  
  139.          File ff = new File(zipfile);  
  140.          // 判断目前文件是否存在,如果不存在,则新建一个  
  141.          if (!ff.exists()) {  
  142.              ff.createNewFile();  
  143.          }  
  144.          // 根据文件路径构造一个文件输出流  
  145.          FileOutputStream out = new FileOutputStream(zipfile);  
  146.          // 传入文件输出流对象,创建ZIP数据输出流对象  
  147.          ZipOutputStream zipOut = new ZipOutputStream(out);  
  148.    
  149.          // 循环待压缩的文件列表  
  150.          for (int i = 0; i < files.length; i++) {  
  151.              File f = new File(files[i]);  
  152.              if (!f.exists()) {  
  153.                  bf = false;  
  154.              }  
  155.              try {  
  156.                  // 创建文件输入流对象  
  157.                  FileInputStream in = new FileInputStream(files[i]);  
  158.                  // 得到当前文件的文件名称  
  159.                  String fileName = files[i].substring(  
  160.                          files[i].lastIndexOf('/') + 1, files[i].length());  
  161.                  // 创建指向压缩原始文件的入口  
  162.                  ZipEntry entry = new ZipEntry(fileName);  
  163.                  zipOut.putNextEntry(entry);  
  164.                  // 向压缩文件中输出数据  
  165.                  int nNumber = 0;  
  166.                  byte[] buffer = new byte[512];  
  167.                  while ((nNumber = in.read(buffer)) != -1) {  
  168.                      zipOut.write(buffer, 0, nNumber);  
  169.                  }  
  170.                  // 关闭创建的流对象  
  171.                  in.close();  
  172.              } catch (IOException e) {  
  173.                  e.printStackTrace();  
  174.                  bf = false;  
  175.              }  
  176.          }  
  177.          zipOut.close();  
  178.          out.close();  
  179.          return bf;  
  180.      }  
  181.        
  182.  }  


 

6.运行测试

(1)在项目的src的zip目录下新建以下2个测试文件

文件1.txt

file2.txt

(2)运行main方法中单个文件压缩的方法,运行结果如图:

后台日志如下:

生成的zip文件如下:

(3)运行main方法中多个文件压缩的方法,运行结果如图:

后台日志如下:

生成的zip文件如下:

压缩后的文件中不会出现中文乱码问题,打开多个文件压缩.zip文件中的文件1.txt,内容如下:

采用JDK自带的类会出现中文乱码问题,效果如图:

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 程序打包发布时,如何将程序集自动安装到全局程序集缓存(GAC)中

    在“总结: 如何将程序集(dll)安装到全局程序集缓存(GAC)中”文章中提到的方法是手动将dll安装到GAC中的两种方法。但有些时候,我们需要将项目制作成安装包,在用户安装程序的过程中,将某些程序集(dll文件)自动安装到全局程序集缓存(GAC)中。 其实很简单,按下面的步骤来:…...

    2024/5/10 11:14:04
  2. 取汉子拼音首字母的C#方法

    /// <summary> /// 获得一个字符串的汉语拼音码/// </summary> /// <param name="strText">字符串</param> /// <returns>汉语拼音码,该字符串只包含大写的英文字母</returns> public static string GetChineseSpell(string str…...

    2024/5/10 7:49:16
  3. Caffe简明教程5:训练你的第一个Caffe模型-MNIST分类器

    您可以查看所有文章的索引:Caffe简明教程0:文章列表如果你已经根据前面几篇文章成功地编译了Caffe,那么现在是时候训练你的第一个模型了。我准备借用Caffe官网的LeNet例子来写这篇文章,您也可以访问原始的文档:Training LeNet on MNIST with CaffeCaffe在编译完成之后,在…...

    2024/5/10 11:22:51
  4. 解决Fiddler查看Get方法传递URL参数中文乱码问题

    解决Fiddler查看Get方法传递URL参数中文乱码问题 分析: 请求服务器显示页面过程第一步:浏览器把URL经过编码送给服务器; 第二步:服务器把这些请求解码处理完毕之后将显示的内容进行编码发送给客户端浏览器; 第三步:浏览器按照指定的编码显示网页解决方法:1.在WebForms中…...

    2024/5/6 6:40:26
  5. HBase之Java API

    Table of ContentsJava API应用Java API应用Configuration在使用Java API时,Client端需要知道HBase的配置环境,如存储地址,zookeeper等信息。这些信息通过Configuration对象来封装,可通过如下代码构建该对象:Configuration config=HBaseConfiguration.create();在调用HBas…...

    2024/4/11 13:46:48
  6. vue-element-admin项目构建和发布

    构建 如果你的数据不是模拟的,则需要将/src/main.js中的以下代码注释掉 import { mockXHR } from ../mock if (process.env.NODE_ENV === production) {mockXHR() } // 将以上代码注释掉!然后对根目录中名为.env.production的配置文件做以下修改 # base api # 将原有的 VUE_APP…...

    2024/5/2 7:08:04
  7. Java对url内的中文进行URL编码

    可解决android无法读取url中文图片等问题public static String urlEncodeChinese(String url) {try {Matcher matcher = Pattern.compile("[\\u4e00-\\u9fa5]").matcher(url);String tmp = "";while (matcher.find()) {tmp = matcher.group();url = url.re…...

    2024/4/23 7:19:26
  8. Windows: 远程自动安装程序

    Windows: 远程自动安装程序 问题的提出作为一个技术支持人员,很有可能遇到这样的问题,你需要为一批计算机安装一个或多个软件更新,如果你有足够的权限和知识,可以使用组策略(Group Policy)来迫使每台机器在下一次启动的时候自动从网络的一个共享处下载安装这个更新,这对…...

    2024/4/17 12:10:01
  9. 获得一个字符串的汉语拼音码

    private static string[] strChineseCharList = { #region "A阿啊锕嗄厑哎哀唉埃挨溾锿鎄啀捱皑凒溰嘊敳皚癌毐昹嗳矮蔼躷噯藹譪霭靄艾伌爱砹硋隘嗌塧嫒愛碍暧瑷僾壒嬡懓薆曖璦鴱皧瞹馤鑀鱫安侒峖桉氨庵谙萻腤鹌蓭誝鞌鞍盦馣鮟盫韽啽雸垵" , "A俺唵埯铵隌揞罯…...

    2024/5/2 2:05:05
  10. iOS_32_XMPP环境搭建

    •XMPP:The Extensible Messaging and Presence Protocol(可扩展通讯和表示协议)•XMPP可用于服务类实时通讯、表示和需求响应服务中的XML数据元流式传输。XMPP以Jabber协议为基础,而Jabber是即时通讯中常用的开放式协议•XMPP是基于XML的协议,用于即时消息(IM instant …...

    2024/4/19 2:40:03
  11. Ceph API微服务开发--存储集群API调用

    目标:开发Ceph存储集群API调用微服务环境:IntelliJ IDEA步骤:librados库简介->存储集群API调用程序编写->API调用测试->Spring Boot微服务改造->运行测试参考:http://docs.ceph.org.cn/rados/api/1.librados库简介librados支持块存储与对象存储的使用,并适应多…...

    2024/4/17 12:11:18
  12. 查找类在哪个JAR文件中

    查找类在哪个JAR文件中package com.tool.jar;import java.io.File; import java.util.ArrayList; import java.util.Enumeration; import java.util.List; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; /** 功能:查找类在哪个JAR文件中* 2012-10-15 * *…...

    2024/5/8 22:12:17
  13. java web项目如何生成exe可执行文件,及安装文件教程

    目前好多管理系统都是基于web的项目,业务部门提出需求要做成exe可执行文件,需求提了,那就做吧,现将制作过程整理如下: 第一步:将浏览器嵌入到java swing中,需要的三个包如下:DJNativeSwing.jar DJNativeSwing-SWT.jar swt-3.6M3-win32-win32-x86 代码如下: package …...

    2024/4/27 23:42:23
  14. Apache服务器中文url的问题

    通过apache下载url中含有中文的目录或文件会出现404错误,经查看是因为apache对中文url的支持有问题。1.IE访问WEB的简单顺序为:IE<->apache<->文件系统即IE向apache发送URL请求,该请求是通过某种编码做了encode的,apache接到请求后对其进行解码,然后再用解码后…...

    2024/5/10 10:59:44
  15. 计算机取证

    计算机取证 实验目的进行计算机取证的实战体验实验要求使用 zeek 来完成取证分析实验环境实验拓扑与上一章相同实验过程首先进行zeek的安装,由于课本上建议安装zeek,原因是bro改名为zeek了,实验做到一半才发现的这个问题??,顺便为下面的图片文字更正一下,不是不支持bro了…...

    2024/5/8 18:19:06
  16. C#中获得汉字的首拼音(加强版)

    /// <summary> /// 汉字拼音首字母列表/// 包含了20901个汉字,收录的字符的Unicode编码范围为19968至40869/// </summary>#region ChineseCharListprivate static string[] ChineseCharList = { "A阿啊锕嗄厑哎哀唉埃挨溾锿鎄啀捱皑凒溰嘊敳皚癌毐昹嗳矮蔼躷噯…...

    2024/5/7 2:39:55
  17. AG-Admin 一个spring cloud的好例子

    https://github.com/wxiaoqi/ace-adminAG-AdminAG-Admin是基于Spring Cloud实现的前后端分离的后台管理信息系统,具备用户管理、部门管理、菜单管理等多个模块,支持多业务系统并行开发,可以作为后台管理系统的脚手架。代码简洁,架构清晰,适合学习和直接项目中使用。核心技…...

    2024/5/9 5:41:40
  18. 菜鸟学Python(14):Django中的url编码

    遇到这样一个问题:客户端通过url将一个字符串传给服务器,服务器再将它写入数据库。如果url中没有中文,当然没有问题。当有中文的时候,就会有编码的问题。最后找到的解决方法是:不能直接在浏览器地址栏中敲汉字,而是必须从utf-8编码的网页中链接过去。比如: http://local…...

    2024/5/10 7:08:22
  19. 利用Java实现zip压缩/解压缩

    由于网络带宽有限,所以数据文件的压缩有利于数据在Internet上的快速传输,同时也节 省服务器的外存空间。 Java 1.1实现了I/O数据流与网络数据流的单一接口,因此数据的压缩、网络传输和解 压缩的实现比较容易,下面介绍利用ZipEntry、ZipInputStream和ZipOutputStream三个Java …...

    2024/4/17 12:09:55
  20. 2019 JS经典面试题(基础+高级,持续更新中...)

    这是我在学习中的一些笔记总结,包括闭包、作用域、原型等等常考热点,这些将以面试题的方式呈现给大家,全文分为 JS 基础、JS 高级、jQuery 和 vue 四部分,认真读完并且敲几遍代码,您定会受益匪浅,同时希望大家批评指正。1. 闭包1. 涉及面试题:什么是闭包?闭包的定义其实…...

    2024/4/26 5:32:48

最新文章

  1. C语言:__attribute__((packed))

    一、简介 在使用结构体的时候&#xff0c;经常要根据结构体的长度来进行相关判断。但是按照C语言的规则&#xff0c;会对不同类型的数据类型进行自动对齐。有时候就会造成一些问题&#xff0c;如果不需要使用自动对齐的功能&#xff0c;就需要使用到本章的关键字。 二、自动对…...

    2024/5/10 16:54:43
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/5/9 21:23:04
  3. 数据结构——线性表(顺序存储结构)

    语言&#xff1a;C语言软件&#xff1a;Visual Studio 2022笔记书籍&#xff1a;数据结构——用C语言描述如有错误&#xff0c;感谢指正。若有侵权请联系博主 一、线性表的逻辑结构 线性表是n个类型相同的数据元素的有限序列&#xff0c;对n>0&#xff0c;除第一元素无直接…...

    2024/5/1 8:30:49
  4. Redis -- 缓存雪崩问题

    缓存雪崩是指在同一时段大量的缓存key同时失效或者Redis服务宕机&#xff0c;导致大量请求到达数据库&#xff0c;带来巨大压力。 可能原因 : 同一时间大量的key到期 ; 解决方案&#xff1a; 给不同的Key的TTL添加随机值 利用Redis集群提高服务的可用性 给缓存业务添加降…...

    2024/5/10 0:12:02
  5. linux系统编程 线程 p1

    线程 1.线程的概念2.线程的创建/终止/取消&#xff0c;栈的清理2.1线程创建2.2线程终止2.3 栈的清理 1.线程的概念 线程就是一个正在运行的函数。 posix线程是一套标准&#xff0c;而不是实现。 openmp线程。 线程标识&#xff1a;pthread_t &#xff08;linux环境下是整形数&…...

    2024/5/8 16:28:01
  6. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/10 12:36:12
  7. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/9 15:10:32
  8. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/5/4 23:54:56
  9. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/9 4:20:59
  10. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/5/4 23:54:56
  11. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/5/4 23:55:05
  12. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/5/4 23:54:56
  13. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/5/7 11:36:39
  14. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/5/4 23:54:56
  15. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/6 1:40:42
  16. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/5/4 23:54:56
  17. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/5/8 20:48:49
  18. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/5/7 9:26:26
  19. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/5/4 23:54:56
  20. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/8 19:33:07
  21. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/5/5 8:13:33
  22. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/5/8 20:38:49
  23. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/5/4 23:54:58
  24. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/10 10:22:18
  25. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/5/9 17:11:10
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57