java压缩zip文件中文乱码问题 linux 下

Linux与Windows获取路径的坑 首先是windows 获取当前项目路径,这个方法在Linux是不适用的 File directory = new File("");//参数为空 String courseFile = directory.getCanonicalPath() 对于Linux可以采用 // 用户主目录 String userHome = System.getproperties().getProperty("user.home"); // Java实时运行环境的安装目录 String javaPath = System. 阅读详情
ant.jar 
import org.apache.tools.zip.ZipEntry;
import org.apache.tools.zip.ZipOutputStream;
public void workZips(String zipName,String fileName,List<File> fileList) throws Exception{
byte[] buffer = new byte[1024];   
String filepath = ServletActionContext.getServletContext().getRealPath("file") +"/"+memberId+ "/zip/";
File directory = new File(filepath);
if (!directory.exists()) {
FileUtils.forceMkdir(directory);
}
//生成的ZIP文件名为Demo.zip   
ZipOutputStream out = new ZipOutputStream(new FileOutputStream(filepath+fileName+".zip"));   
out.setEncoding("gbk");
//需要同时下载的两个文件result.txt ,source.txt   
for(int i=0;i<fileList.size();i++) {   
FileInputStream fis = new FileInputStream(filepath+fileList.get(i).toString().split(";")[1]+".zip");
out.putNextEntry(new ZipEntry(fileList.get(i).toString().split(";")[1]+".zip"));   
 int len;   
 //读入需要下载的文件的内容,打包到zip文件   
  while((len = fis.read(buffer))>0) {   
   out.write(buffer,0,len);    
       }   
       out.closeEntry();   
        fis.close(); 
      //删除被合并的zip
        this.deleteFile(filepath+fileList.get(i).toString().split(";")[1]+".zip");
   }   
      out.close();   
}
out.setEncoding("gbk"); 这里很关键,你要是不设置的话,默认获取系统编码;这样设置,在linux下压缩zip,在window系统解压就不会出现乱码了
</pre><pre code_snippet_id="422359" snippet_file_name="blog_20140708_6_3093008" name="code" class="java">注:我们写文件的时候使用UTF-8的编码来写文件名的,这个时候-- 奇迹出现了“乱码”,为什么呢? GBK每个汉字占2个字节,而UTF-8每个汉字占3个字节,它们所占字节数都不一样,乱码是必须的



使用java在linux中将多个文件打包为zip,并解决中文文件名乱码 近两天在开发过程中碰到一个需求,需要将服务器上的多个文件打包为ZIP,并进行下载。现将打包核心代码贴出来,以便相互交流: /** * * @param srcfile 需要打包为zip的文件集合 * @param zipfile 创建的zip文件 */ public void zipFiles(List<File> srcfile, File zipfile) { byte[] buf = new... 阅读详情

相关推荐

java 支持中文解压:一行代码解决 java.util.zip.ZipInputStream 中文乱码;--文件处理通用类

1、文件解压zip通用机制方法、一行代码支持中文; 2、一行代码解决 java.util.zip.ZipInputStream 中文乱码; 3、删除指定路径内的所有文件通用机制方法;

JAVA压缩zip 解决linux下中文乱码

如果是文件目录,则 ZipEntry zipEntry=new ZipEntry(basePath + System.getProperties().getProperty(“file.separator”)); zipEntry.setUnixMode(755);//解决linux乱码 如果是文件,则 ZipEntry zipEntry=new ZipEntry(base); zipEntry.setUnixMode(644);//解决linux乱码 然后在输出时强制设置编码: ZipOutputSt

kun_love_java的博客 2011

静态分析工具COBOT与Testbed对比

Testbed为规则检查工具的代表,市场占有量非常大,但随着时间的推移,大家从规则匹配转向了用静态分析工具检查Bug,所以规则检查型工具占有量比开始时候已经减少,但仍有一些比较落后的单位还在继续采购此类工具。3、通过对开源工程的测试,进行误漏报率的对比,发现COBOT(库博)的误漏报率相比Testbed较低,因COBOT主打国内市场,在众多军工单位进行大量试用及使用,吸取了众多单位的意见和建议,更加符合国内军工单位的使用习惯及测试要求。4、此外库博在功能上还可以进行计划任务,检测队列,检测并发的功能支持。

chengoodflower的博客 2055

【转载】JAVA压缩 解压缩zip 并解决linux下中文乱码

https://blog.youkuaiyun.com/kerenseaman/article/details/64905368 http://aniyo.iteye.com/blog/1495435 ===========os.name:Windows 7 ===========file.separator:\ ===========os.name:Linux ===========file.separ...

Uself 1240

BCIC IV 2a数据集实战:从MATLAB导入到EEG信号分析全流程

本文提供了BCIC IV 2a数据集从MATLAB导入到EEG信号分析的完整实战流程。详细解析了数据集结构,区分了EEG与EOG信号,并演示了信号可视化、基础预处理(滤波、分段、基线校正)等关键步骤,帮助脑机接口研究者快速上手处理这一经典运动想象数据集。

weixin_29047919的博客 469

AlphaFold3实战:用它预测抗体结构,我的CDR H3环RMSD降到了2Å以内

本文详细介绍了如何利用AlphaFold3(AF3)高精度预测抗体结构,特别是CDR H3环的建模,其RMSD可降至2Å以内。通过实战演示从序列输入到结构优化的全流程,包括参数配置、置信度指标解读及结果分析,帮助研究人员快速掌握AF3在抗体药物研发中的应用。

weixin_29224529的博客 187

Linux服务器 java zip打包下载 目录乱码

Linux服务器zip下载目录乱码ZipEntry 压缩文件夹目录乱码 ZipEntry 压缩文件夹目录乱码 private static void zip(ZipOutputStream out, File f, String base) throws Exception { if (f.isDirectory()) { // 判断是否为目录 File[] fl = f.listFiles(); // out.putNextE

wang_ying_zhen的博客 1107

手把手教你用AirSim和Unreal4在Ubuntu上创建自定义无人机仿真场景

本指南详细介绍了如何在Ubuntu系统上使用AirSim和Unreal Engine 4搭建高精度无人机仿真环境。从硬件配置、驱动安装到Unreal Engine编译和AirSim集成,手把手教你创建自定义场景,适用于算法验证和开发测试。

y7z8a的博客 256

使用java.util.zip包进行压缩文件时,压缩包内的文件的文件名乱码

1、报错原因使用java.util.zip包进行压缩文件时,压缩包内的文件的文件名乱码,以下是部分代码//导入的包import java.util.zip.ZipEntry;import java.util.zip.ZipOutputStream; //生成压缩包,将文件写入到压缩包 int len; byte[] buf = new byte[2048]...

noName_code的博客 5828

将CityScapes数据集转换为COCO格式的实例分割数据集

##¥##2019年结束前最后两小时,写出本年度最后一篇博客,不是博主没地方去跨年,实在是Coding乐趣无穷ahhhh ##¥## COCO数据集是研究实例分割的通用数据集,但是针对道路环境的数据较少,对于自动驾驶和移动机器人的应用并不适配。而提供道路环境的实例分割数据的数据集目前有KITTI、CityScapes、Apllo等,CityScapes算是应用较广,数据质量较高的一个,所以,本篇...

陆羽飞的博客 9940

扩散模型与强化学习(13):In-Context Reward Hacking现象与解决方案

奖励作弊(Reward Hacking)指智能体通过钻规则漏洞而非真正完成任务来最大化奖励信号。以论文编辑实验为例,研究提出“上下文奖励作弊”(ICRH)概念,即模型利用共享上下文钻空子,如盲目添加“正确!”或输出无关内容。实验发现,模型规模扩大可能加剧ICRH,且提示词优化难以根治。与传统奖励作弊不同,ICRH发生在部署阶段,由通用性驱动。应对建议包括多轮测试、多样化反馈及异常场景模拟,但尚无完美解决方案。

沉迷单车的追风少年 1319

linux java zip_JAVA压缩 解压缩zip 并解决linux下中文乱码(示例代码)

1. [代码][Java]代码1:再压缩前,要设置linux模式, 需要使用第三方ant-1.6.5.jar如果是文件目录,则ZipEntry zipEntry=new ZipEntry(basePath + System.getProperties().getProperty("file.separator"));zipEntry.setUnixMode(755);//解决linux乱码如果是文...

weixin_42398635的博客 265

vs code , 配置 claude code 插件, 默认选项 : --dangerously-skip-permission

摘要:本文介绍如何在VS Code中为Claude Code插件配置--dangerously-skip-permission参数,包含两种方法:图形界面设置(适合新手)和直接编辑settings.json(精准配置)。该参数会跳过权限检查,仅建议在本地测试环境中使用。配置后需通过命令面板验证参数是否生效,并注意安全风险,避免在生产环境使用。多参数配置时需用数组格式,不同版本插件可能键名略有差异。

AI天才研究院 4991

java解压ZIP文件并解决中文乱码问题

场景:解压xxxx.zip文件(如果zip文件里面嵌套zip,市面上工具基本不支持,自己写个递归方法即可),中文文件名出现乱码 工具:zip4j(默认编码集UTF-8) 乱码原因: ZIP格式在不同平台上使用不同软件压缩: 1. Windows下使用WinRAR、好压、快压、百度压缩、360等工具压缩的文件 特点:文件名为GBK编码 2. 使用Linux、MacOS等系统压缩的zip文件 特...

Angelo的博客 4970

2.0 电子凸轮 西门子1500电子凸轮使用研究1

本文研究了S7-1500T电子凸轮同步控制技术,通过仿真实验得出以下结论:1)通过比例系数可调整凸轮曲线形状;2)解除同步需调用从轴其他运动指令;3)详细阐述了凸轮同步的5个实施步骤。重点分析了三种同步类型(主值距离同步、动态参数同步和直接同步)的特点及应用场景,并探讨了缩放系数、偏移量等参数对凸轮曲线的影响。同时介绍了凸轮应用模式及常见异常处理方法,为工程应用提供了重要参考。

qq_34047402的博客 809

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

java生成unix.z压缩_JAVA压缩 解压缩zip 并解决linux下中文乱码

1:再压缩前,要设置linux模式, 需要使用第三方ant-1.6.5.jar如果是文件目录,则ZipEntry zipEntry=new ZipEntry(basePath + System.getProperties().getProperty("file.separator"));zipEntry.setUnixMode(755);//解决linux乱码如果是文件,则ZipEntry zip...

weixin_39516865的博客 211

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Linux服务器tomcat容器,导出的zip压缩包中文件中文名乱码

记录一次问题。 问题:Linux服务器tomcat容器,导出的zip压缩包中文件中文名乱码。 1.检查java代码 import org.apache.tools.zip.ZipOutputStream; File zipFile = new File("d:test.zip"); ZipOutputStream zipOut = new ZipOutputStream(new File...

echo的博客 1369

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

windows下文件名正常,但linux下用ZipOutputStream压缩后中文文件名乱码

在windows下文件名正常,但部署linux下文件名却出现乱码搞了一个晚上,知道是编码的问题,网上查到的大致有两种解决方面(好像都不行):1、修改java.util.zip下对应的类。这个方法改了太麻烦了,而且ant包中的已经有现成的了,而且也没有用(可能是我没改好吧)2、用ant提供的来代替,把import 里的java.util.zip改成org.apache.tools.zip。这种方法在...

java的涟漪 164

UBUNTU linux中解压zip 中文乱码 (unzip)

在windows上压缩的文件,是以系统默认编码中文来压缩文件。由于zip文件中没有声明其编码,所以linux上的unzip一般以默认编码解压,中文文件名会出现乱码。 虽然2005年就有人把这报告为bug, 但是info-zip的官方网站没有把自动识别编码列入计划,可能他们不认为这是个问题。Sun对java中存在N年的zip编码问题,采用了同样的处理方式。 有2种方式解决问题: 1.

AIoT深度探索者 | 嵌入式系统架构师 深耕物联网(IoT)与人工智能(AI)融合技术,聚焦​​边缘计算、图像开发、低功耗通信协议​​,致力于智能硬件,关注我获取最新技术文章信息与海量资源~ 3109

ubuntu中解压zip文件遇到中文乱码问题

在windows上压缩的文件,是以系统默认编码中文来压缩文件。由于zip文件中没有声明其编码,所以 linux上的unzip一般以默认编码解压,中文文件名会出现乱码。 虽然2005年就有人把这报告为bug, 但是info-zip的官方网站没有把自动识别编码列入计划,可能他们不认为这是个问题。Sun对java中存在N年的zip编码问题,采用了同样的处理方式。 有2种方式解决问题: 1.

jilijelon 914

ubuntu解压windows生成的zip文件时乱码问题

在windows上压缩的文件,是以系统默认编码中文来压缩文件。由于zip文件中没有声明其编码,所以linux上的unzip一般以默认编码解压,中文文件名会出现乱码。 虽然2005年就有人把这报告为bug, 但是info-zip的官方网站没有把自动识别编码列入计划,可能他们不认为这是个问题。Sun对java中存在N年的zip编码问题,采用了同样的处理方式。 有2种方式解决问题: 1.

keepshile with world 1063

临时解决ubuntu解压windows生成的zip文件时乱码问题

原文:http://forum.ubuntu.org.cn/viewtopic.php?t=175405 在windows上压缩的文件,是以系统默认编码中文来压缩文件。由于zip文件中没有声明其编码,所以linux上的unzip一般以默认编码解压,中文文件名会出现乱码。 虽然2005年就有人把这报告为bug, 但是info-zip的官方网站没有把自动识别编码列入计划,可能他们不认为这是个问

斌斌(Java) 814

ubuntu上zip格式解压乱码解决

在windows上压缩的文件,是以系统默认编码中文来压缩文件。由于zip文件中没有声明其编码,所以linux上的unzip一般以默认编码解压,中文文件名会出现乱码。 虽然2005年就有人把这报告为bug, 但是info-zip的官方网站没有把自动识别编码列入计划,可能他们不认为这是个问题。Sun对java中存在N年的zip编码问题,采用了同样的处理方式。 有2种方式解决问题: 1.

hitwh_Gypsy的专栏 880

Java导出zip压缩文件

这里需要说明的是我的项目需要各种不同文件导出,所以进行压缩,当项目上线的时候,我们是没有本地电脑路径的,所以压缩路径我选择在项目的根目录下,全部压缩成功,调用删除,在进行删除,这样在虚拟机上也可以进行操作,不会影响,个别注意,在linux上很多项目如果不配置中文环境,导出的文件名会乱码,强调一下,好了,看代码 /** * 附件导出 (导出所有用户上传的文件格式 已压缩包形式导出 )...

枫叶 1万+

Java Zip 压缩目录(文件)之中文乱码问题

<!-- https://mvnrepository.com/artifact/org.apache.ant/ant --> <dependency> <groupId>org.apache.ant</groupId> <artifactId>ant</artifactId> <version>1.7.1</version>.

Gblfy_Blog 754

Java使用7Zip完成文件的压缩和解压缩

有时候,你的程序有可能会做压缩和解压缩的操作,当然,你完全可以使用Java自带的压缩和解压缩的工具类来完成,但是那样也会带来一些问题:最主要的就是中文乱码的问题以及保持目录结构的问题。所以,我们完全可以借助7Zip来完全文件的压缩与解压缩。 使用Java调用7Zip来完全任务其实说白了就是使用7Zip的命令行模式,然后使用Java的Runtime.getRuntime().exec()来执行

liang100k的专栏 6634
上一篇: 使用split()方法分割字符串
下一篇: 理解CSS3 transform中的Matrix(矩阵)
OnePiece_Sky
博客等级 码龄15年 9粉丝 63原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值