[core java学习笔记][第十章部署应用程序]
2016-04-02 16:51
567 查看
第10章 部署应用程序和applet
jar文件Java Web Start
10.1 jar文件
jar文件就是一个压缩了类,图像和声音的ZIP压缩文件创建一个新的JAR文件应该使用的常见命令格式:
jar cvf JARFileName File1 File2 ...
例如
jar cvf CalculatorClasses.jar *.class icon.gif
通常,jar 的命令格式如下
jar options File1,File2,.....
以下列出jar程序的可选项
一般 -cvf 常用即可
10.1.1 清单文件
命名为MANIFEST.MF用于描述归档特征的清单文件。
要想创建一个包含自己清单文件的jar应该用这样的命令
jar cfm JARFileName ManifestFileName ....
例
jar cfm MyArhive.jar manifest.mf com/mycompany/mypkg/*.class
要想更新一个已有JAR文件的清单,执行一下指令
jar ufm MyArchive.jar manifest-additions.mf
10.1.2 可运行JAR文件
两种方式可以使用jar命令中的e选项指定程序的入口点
jar cvfe MyProgram.jar MainAppClass otherclassfile
或者,再清单文件指定应用程序的主类,最后一行必须以换行符结尾
Main-Class: MainAppClass
还有第三方打包器,能将jar文件转换为.exe的Windows程序,查找和加载Java虚拟机,甚至再没有找到JVM的时候告诉用于做什么
10.1.3 资源
图像和声音文件
带有消息字符串和按钮标签的文本文件
二进制数据文件
要调用资源有一下几步
获得具有资源的Class对象。例如,
AboutPanel.class,只能调用这个对象目录下的资源
如果资源是一个图像或声音文件,那么就需要调用
getresource(filename)获得作为URL的资源位置,然后利用
getImage或
getAudioClip进行读取
其他资源用getResourceAsStream方法读取文件中的数据
读取图像
URL url= ResourceTest.class.getResource("about.gif"); Image img=new ImageIcon(url).getImage(); //或者 URL aboutURL = getClass().getResource("about.gif"); Image img = new ImageIcon(aboutURL).getImage(); 意思是再ResourceTest.class所处的当前目录下查找
读取文本
InputStream stream=ResourceTest.class.getResourceAsStream("about.txt"); Scanner in=new Scanner(stream);
还可以利用相对路径和绝对路径
10.1.4 密封
Java可以密封包,如果不密封包,其他类就有可能放在这个包中,进而访问包可以见性如何密封?
修改清单文件
Name: com/mycompany/util/ Sealed: true Name: com/mycompany/misc/ Sealed: false
然后利用上面所学的打包,或者更新包的清单文件。
10.2 Java Web Start
略10.3 applet
略10.4 应用程序首选项存储
属性映射首选项API
10.4.1 属性映射
属性映射(property)是一种KEY/VALUE对的数据结构。常用来存放配置信息。
三个特性
key和value都是String
容易从文件读入或读出
用二级表存放默认值
实现这样的类叫
java.util.Properties
放入
Key/value
Properties settings=new Properties(); setting.put("width","200"); setting.put("title","Hello,World!");
使用
store方法保存到文件,必须要检查异常,否则编译不通过
FileOutputStream out = new FileOutputStream("a.out") settings.store(out,"hello");
使用
load加载这些文件
FileInputStrem in = new FileInputStrem("a.out"); settings.load(in);
使用
getProperty获取value
两种方式 settings.getProperty("title"); 直接获得key=title的value,不存在返回none settings.getProperty("title","Default title"); 不存在时返回第二个参数
构造函数可以直接用别的Properties来初始化
Properties defaultSettings= new Properties(); Properties settings=new Properties(defaultSettings);
以下是完整代码
import java.util.*; import java.io.*; public class test { public static void main(String args[]) { Properties settings=new Properties(); settings.put("zhouyong","1111"); settings.put("luan","2222"); //wirte try{ FileOutputStream out = new FileOutputStream("a.out"); settings.store(out,"hello"); } catch (IOException ex) { ex.printStackTrace(); } //read try{ FileInputStream in = new FileInputStream("a.out"); settings.load(in); } catch (IOException ex) { ex.printStackTrace(); } } }
10.4.2 Preferences API
一个不以平台变更的中心配置库,所有当前机器的java程序公用能通过xml来导入导出
value值可以为int ,等类型
具体怎么用以后慢慢学
相关文章推荐
- [core java学习笔记][第六章接口与内部类]
- [core java学习笔记][第五章继承]
- [core java学习笔记][第五章继承]
- [core java学习笔记][第六章接口与内部类]
- [core java学习笔记][第四章对象与类]
- [core java学习笔记][第四章对象与类]
- [core Java学习笔记][第一二三章基本语法]
- [core Java学习笔记][第一二三章基本语法]
- Java异常处理之try-catch-finally
- 统计文章单词[JAVA实现]-经典笔试题
- java事务
- Java——设计模式(装饰模式_IO)
- Java并发编程系列之六:stop()、resume()和suspend()
- 在Struts的jsp中使用<s: set> 和 Jstl的<c: set>
- 【细说Java】方法重载的简单介绍
- Struts2入门2
- JAVA语言正则表达式实现密码规则设置
- javaEE SSH框架 qq第三方登录及用户绑定
- springMVC4(7)模型视图方法源码综合分析
- struts2入门