java 已经获取pdf代码,如何把他pdf文件保存到本机 要求用输出流做

java 已经获取pdf代码,如何把他pdf文件保存到本机 要求用输出流做,第1张

用RAR打开包获取文件

你用导包不行吗

你用IMPORT命令把你包里所要用的CLASS文件能拿不出来吗

Java 2 SDK 标准版提供了一个 jar 工具,你可以通过它在控制台下读写 JAR 文件。然后,也许有些时候你想在你的程序中读写 JAR 文件。(这篇技巧仅涉及了在程序中读 JAR 文件的内容。)非常高兴,你可以做到,并且不需要考虑解压的问题,因为类库已经帮你处理了。你要用到的类都在 javautiljar 包中。这里要用到的主要的类是 JarFile 类,它是一个 jar 文件自身的引用。其中的每个文件则由 JarEntry 引用。

参考资料自己看一下,太多了我就不复制到这里了

eclipse有相关 *** 作

------------------------------------------------------------------------

1,右击Eclipse项目,点击Export。

2,选中java-jar文件。

3,选中要发布为jar文件的项目。

1)选中源文件夹,库文件夹,配置文件文件夹。

2)不要选中Eclipse项目的文件和其他不需要的文件。

3)选中:Export all output folders for checked projects

输出所有选中的文件夹。

4)选中:Export java source files and resources

如果是源文件夹,就会输出生成的class文件。

5)选中:压缩Jar文件的内容。

6)选中:不警告就覆盖已存在的文件

7)选择一个输出jar文件的目的地。

4,使用已存在的manifest文件。

5,MANIFESTMF 文件如下:

Manifest-Version: 10

Main-Class: Test

Class-Path: lib/OXmlEd111-nolib-binjar lib/dom4j-161jar lib/commons-logging-104jar lib/log4j-128jar

如果让Eclipse为我们生成,不会生成Class-Path部分的描述。所以,我们需要再加上Class-Path描述!

6,现在,制作完成的jar文件就是可执行的。

我们在命令行中执行java –jar AAAjar 就可以看到该程序被成功执行了。

javaw –jar AAAjar 也可以执行该jar包。

使用javaexe将会出现命令行窗口。

使用javawexe执行,不会出现命令行窗口,所有Systemoutprint这样的输出都是看不到的。

7,如果你安装了JRE,你的jar文件应该关联在javaw –jar上。

如果你的jar文件没有关联javaw –jar了,可以通过以下方法重新关联。

1)在资源窗口—工具—文件夹选项—文件类型中,新建jar的关联。

2)创建一个bat文件,其中的命令是:javaw -jar %1 或者java -jar %1

3)把jar文件关联到上面这样的bat文件中。

这样,你双击jar文件时,就会立刻执行该java程序。

%1 表示第一个参数,也就是你点击的jar文件的文件全名。

8,你也可以为每一个可执行的jar文件创建一个bat文件,其中的命令是javaw -jar AAAjar 或者java –jar AAAjar等文件。

这样,无需关联jar文件,就可以执行jar文件。

^^java教程^^《制作可执行JAR》本文阐述了如何把一个不可执行的JAVAArchive(JAR)文件变成可执行,而不用直接 *** 作manifest文件。你会学到写出短小的一个程序,通过运行java-jar命令或在像windows一样的 *** 作系统里面用双击鼠标运行任何JAR文件。

你可以很容易地把应用程序的一整套class文件和资源文件打包到一个JAR中。事实上这就是jar文件存在的一个目的。另外一个目的就是让用户能很容易地执行被打包到jar文件里面的应用程序。那么为什么jar文件仅仅作为文件在整个java里面占据了次要的地位,而本地执行则被忽视?

要执行一个jar文件,你可以使用java命令的-jar选项。举一个例子来说,假如你有个名叫myjarjar的文件。这个jar是可以运行的,你可以运行它:java-jarmyjarjar另外一个办法就是,当JavaRuntimeEnvironment(JRE)已经被安装到一个像windows的 *** 作系统上,将jar文件与JVM关联(关联javaexe跟jar文件)在一起你就可以通过双击jar来运行这个应用程序。当然,jar文件必须是可执行的。

现在的问题是:如何做一个可以执行的jar?

manifest文件以及Main-class入口

在大多数jar中,都在一个叫META-INF的目录里面保存了一个叫MANIFESTMF的文件。那个文件里面,

包含了一个特殊表项名字叫Main-Class,告诉java-jar命令应该执行哪个class

问题是你必须为manifest文件手工加入适当表项,而且必须在一定的位置和用一定的格式。不幸的是,不是每个人都喜欢打开写字板编辑配置文件。

让API帮你完成任务

自从java12发布以来,一个叫javauiljar包的出现,让你能够方便处理jar文件。(注意:该包基于javautilzip)特别地,jar包让你通过Mainfest类,可以容易 *** 作那些manifest文件

就让我们用这个API写一个程序吧。首先,这个程序必须知道三样东西:

1。我们要使之可运行的jar文件。

2。运行jar的主类(这个类必须包含在jar中)。

3。输出新jar文件的文件名,因为我们不能简单地覆盖原来的文件。

编写程序

上面列表的三点要求将组成我们的程序的参数。现在,让我们为这个程序选择一个适当的名字。

MakeJarRunnable听起来觉得怎样?

为main方法检查参数

假设我们的main方法入口点是一个标准的main(String[])方法。我们应该这样检查程序的参数:

if(argslength!=3){

Systemoutprintln("Usage:MakeJarRunnable" "<jarfile><Main-Class><output>");

Systemexit(0);

}

请注意参数列表是如何描述的,因为这在以下代码中是很重要的。参数的次序和内容不是固定的;

然而,如果你要改变他们的话,要记住响应修改其他代码。

访问jar和jar的manifest文件

第一,我们必须创建一些了解jar和manifest的对象:

//CreatetheJarInputStreamobject,andgetitsmanifest

JarInputStreamjarIn=newJarInputStream(newFileInputStream(args[0]));

Manifestmanifest=jarIngetManifest();

if(manifest==null){

//Thiswillhappenifnomanifestexists

manifest=newManifest();

}

设置Main-Class属性

我们把Main-Class入口放到manifest文件的main属性部分。一旦从manifest对象获得这个属性,就可以设置需要的mainclass。然而,如果main-Class属性已经存在原来的jar当中又如何呢?这里我们只是简单地输出一个警告然后退出。我们能加入一个命令行参数告诉程序使用新的值,而代替了旧的那个:

Attributesa=manifestgetMainAttributes();

StringoldMainClass=aputValue("Main-Class",args[1]);

//Ifanoldvalueexists,telltheuserandexit

if(oldMainClass!=null){

Systemoutprintln("Warning:oldMain-Classvalueis:"

oldMainClass);

Systemexit(1);

}

输出新的JAR

我们需要创建一个新的JAR文件,所以我们必须使用JarOutputStream类。注意:

我们必须确定我们不用跟输入文件相同的名字作为输出文件的名字。还有一个方案就是,程序应该考虑到一种情况,就是两个jar文件都是相同的,促使用户覆盖原来的文件,如果他愿意这么做的话。然而,我在保留了这一点,作为读者的一个练习。从如下代码开始:

Systemoutprintln("Writingto" args[2] "");

JarOutputStreamjarOut=newJarOutputStream(newFileOutputStream(args[2]),manifest);

我们必须从输入JAR写每个表项到输出的JAR,所以迭代每个表项:

//Createareadbuffertotransferdatafromtheinput

byte[]buf=newbyte[4096];

//Iteratetheentries

JarEntryentry;

while((entry=jarIngetNextJarEntry())!=null){

//ExcludethemanifestfilefromtheoldJAR

if("META-INF/MANIFESTMF"equals(entrygetName()))continue;

//WritetheentrytotheoutputJAR

jarOutputNextEntry(entry);

intread;

while((read=jarInread(buf))!=-1){

jarOutwrite(buf,0,read);

}

jarOutcloseEntry();

}

//Flushandcloseallthestreams

jarOutflush();

jarOutclose();

jarInclose();

完成程序

当然,我们必须把这些代码放到一个类的main方法里面,并且需要一大堆import代码。完整程序:

>

以上就是关于java 已经获取pdf代码,如何把他pdf文件保存到本机 要求用输出流做全部的内容,包括:java 已经获取pdf代码,如何把他pdf文件保存到本机 要求用输出流做、怎么通过log4j文件控制jar包里面的日志输出、jar打包后怎么读取里面的文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9720751.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存