资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

java源代码怎么压缩 java如何压缩文件

如何将java源程序打包成可执行文件

把 java项目 打包成 exe 可执行文件! 打包跨平台的.exe文件。安装后运行左窗窗口标有十步。 

创新互联业务包括:成品网站、企业产品展示型网站建设、品牌网站建设、电子商务型网站建设、成都外贸网站建设公司(多语言)、商城网站建设、按需定制开发、全网整合营销推广等。效率优先,品质保证,用心服务是我们的核心价值观,我们将继续以良好的信誉为基础,秉承稳固与发展、求实与创新的精神,为客户提供更全面、更优质的互联网服务!

第1步 : 完全略过,直接点Next

第2步 : 选择“JAR in EXE mode” 就是选择已经有制作好的jar文件。

第3步 : 上面是项目名称,可随便填写,下面一个写出想要将打包后的exe文件输出的目录的是“桌面\project\”。

第4步 : 由于演示程序是图形的,所以选第一个,如果程序是控制台的,则选择第二个,Executable name写将要生成的.exe文件的名字,Icon File可以选择生成文件的图标。

第5步 : 先别管上面的,先在下面单击绿色的“+”号,在弹出的窗口中点Archive,然后找到起初已经做好的 CAMP_fat.jar(详见1.3)文件,"OK"后返回,在下面的Class Path里就出现jar文件路径后,再在上面Main Class栏内点击找到main所在的类。

第6步 : 系统的JRE版本,一般是填个1.3,下面填1.6在这里单击advanced options,选择search sequence。选这个就是因为要把JDK环境也打包进来,好让程序能跨平台使用。首先要从系统的JDK下的JRE目录copy到.exe文件的输出目录下“桌面\project\JRE”,然后回到exe4j中在弹出窗口删除列表中的所有项。是三项,一个注册表的,一个JAVA环境变量的,一个JDK环境变量的,都不要。然后单击绿“+”,选择directory并选择JRE的根目录,是“桌面\project\JRE”就是 copy后的目录,选完后exe4j弹出窗口中的Directory里会显示“.\JRE”。点OK关闭该窗口,返回exe4j的主窗口,就可以看到刚加的路径。再从主窗口左侧窗口中单击advanced options,并选择preferred VM,在弹出的窗口中选择client hostspot VM,单击next按钮继续。

第7、8步 : 是一些个性设置默认即可。

第9步 : 编译

第10步 : 点那个“Click Here to Start the Application”按钮就可以看到程序运行效果了,然后再点”Seave as”保存一个exe4j生成的一个文件,随便存哪里都行,和.exe程序无关。

怎么把java文件打包成jar文件

若要生成一个名为 cal.jar 的可执行jar文件:(文件名可以是任意合法名字)

(这是我认为简单实用的一种方法,还有很多别的方法在此就不介绍了)

第一 把程序生成的所有字节码文件(即.class文件)放在同一个目录下(如:D:/chat/).

第二 在该目录下新建一个manifest.mf文件,文件内容格式如下(划线中内容):

manifest.mf文件中的格式:

Main-Class: (空格)calDemo (注意:冒号和类名之间一定要有一个空格)

注意: calDemo代表主类名(即要运行的类名,只能有一个,不要文件扩展名)

Main与Class中间不是下划线,而是短横线

Main-Class:与calDemo中间必须要有空格

Main-Class: calDemo之后必须要回车

然后用jar命令生成可执行的jar文件,例如:

(执行该命令前先要转到该目录下 D:/chat/ )

jar cvfm cal.jar manifest.mf *.class

jar用法:(仅供参考,初学者可跳过这部分内容)

jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C 目录] 文件名 ...

选项:

-c 创建新的存档

-t 列出存档内容的列表

-x 展开存档中的命名的(或所有的〕文件

-u 更新已存在的存档

-v 生成详细输出到标准输出上

-f 指定存档文件名

-m 包含来自标明文件的标明信息

-0 只存储方式;未用ZIP压缩格式

-M 不产生所有项的清单(manifest〕文件

-i 为指定的jar文件产生索引信息

-C 改变到指定的目录,并且包含下列文件:

如果一个文件名是一个目录,它将被递归处理。

清单(manifest〕文件名和存档文件名都需要被指定,按'm' 和 'f'标志指定的相同顺序。

示例1:将两个class文件存档到一个名为 'classes.jar' 的存档文件中:

jar cvf classes.jar Foo.class Bar.class

示例2:用一个存在的清单(manifest)文件 'mymanifest' 将 foo/ 目录下的所有

文件存档到一个名为 'classes.jar' 的存档文件中:

jar cvfm classes.jar mymanifest -C foo/ .

jar 运行

java -jar *.jar

java 如何压缩文件

楼主是说解压了的文件大小只有33.1MB,但是却占了51.2MB的空间吗?

如果是这个意思的话,那我要告诉楼主,首先这个问题和JAVA没有关系,根据你的截图,可以断定你用的是FAT32文件系统。这只是文件存储的形式,很正常。

简单的说,磁盘存储数据的最小单位是簇,比方说你的簇大小为128K,一个簇只能存放一个文件,然后你的一个文件只有16K,它占了这个簇,然后还有112K没有用,是吧。但是那112K就不能再存放其它文件了。如果要存放其它文件,就要占另一个簇。

楼主,懂了吧,这跟簇的大小有关,但是也不是簇越小越好,簇越小,读写性能都有所下降。这是正常现象。如果你非觉得不舒服,那就用NTFS文件系统吧,把压缩打开,就不会有这种情况了,希望对你有帮助

怎么把java源代码变成附件文件

通过jar命令

jar命令的用法:

下面是jar命令的帮助说明:

用法:jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] files ...

选项包括:

-c 创建新的归档文件

-t 列出归档目录

-x 解压缩已归档的指定(或所有)文件

-u 更新现有的归档文件

-v 在标准输出中生成详细输出

-f 指定归档文件名

-m 包含指定清单文件中的清单信息

-e 为捆绑到可执行 jar 文件的独立应用程序,指定应用程序入口点

-0 仅存储;不使用任何 ZIP 压缩

-M 不创建条目的清单文件

-i 为指定的 jar 文件生成索引信息

-C 更改为指定的目录并包含其中的文件

如果有任何目录文件,则对其进行递归处理。清单文件名、归档文件名和入口点名的指定顺序与 "m"、"f" 和 "e" 标志的指定顺序相同。

求一个JAVA的压缩程序源代码。

package com.io2.homework;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.util.zip.ZipEntry;

import java.util.zip.ZipOutputStream;

/*压缩文件夹*/

public class MyMultipleFileZip

{

private String currentZipFilePath = "F:/MyZip.zip";

private String sourceFilePath;

private ZipOutputStream zos;

private FileInputStream fis;

public MyMultipleFileZip(String sourceFilePath)

{

try

{

this.sourceFilePath = sourceFilePath;

zos = new ZipOutputStream(new FileOutputStream(currentZipFilePath));

//设定文件压缩级别

zos.setLevel(9);

} catch (FileNotFoundException e)

{

e.printStackTrace();

}

}

// 在当前条目中写入具体内容

public void writeToEntryZip(String filePath)

{

try

{

fis = new FileInputStream(filePath);

} catch (FileNotFoundException e1)

{

e1.printStackTrace();

}

byte[] buff = new byte[1024];

int len = 0;

try

{

while ((len = fis.read(buff)) != -1)

{

zos.write(buff, 0, len);

}

} catch (IOException e)

{

e.printStackTrace();

}finally

{

if (fis != null)

try

{

fis.close();

} catch (IOException e)

{

e.printStackTrace();

}

}

}

// 添加文件条目

public void addFileEntryZip(String fileName)

{

try

{

zos.putNextEntry(new ZipEntry(fileName));

} catch (IOException e)

{

e.printStackTrace();

}

}

public void addDirectoryEntryZip(String directoryName)

{

try

{

zos.putNextEntry(new ZipEntry(directoryName + "/"));

} catch (IOException e)

{

e.printStackTrace();

}

}

// 遍历文件夹

public void listMyDirectory(String filePath)

{

File f = new File(filePath);

File[] files = f.listFiles();

if(files!=null)

{

for (File currentFile : files)

{

// 设置条目名称(此步骤非常关键)

String entryName= currentFile.getAbsolutePath().split(":")[1].substring(1);

// 获取文件物理路径

String absolutePath = currentFile.getAbsolutePath();

if (currentFile.isDirectory())

{

addDirectoryEntryZip(entryName);

//进行递归调用

listMyDirectory(absolutePath);

}

else

{

addFileEntryZip(entryName);

writeToEntryZip(absolutePath);

}

}

}

}

// 主要流程

public void mainWorkFlow()

{

listMyDirectory(this.sourceFilePath);

if(zos!=null)

try

{

zos.close();

} catch (IOException e)

{

e.printStackTrace();

}

}

public static void main(String[] args)

{

new MyMultipleFileZip("F:/fountainDirectory").mainWorkFlow();

}

}


分享文章:java源代码怎么压缩 java如何压缩文件
本文网址:http://cdkjz.cn/article/hejjpj.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220