首先向大家道个歉,前面3天由于在忙着写项目说明文档,所以耽误了一下。今天借着中午这段时间把前面的补回来。话不多说,下面步入正题吧!
Jar命令:jar可以把多个文件打包成一个压缩包,得到的压缩包通常有3种:1)*.jar -它里面包含N个class文件。2)*.war(Web) -它是一个Web应用打包生成的包。3)*.ear(Enterprise) -它是一个企业应用打包生成的包。这里我们学习时常用的*.jar这种方法。在运行命令窗口输入jar我们可以看到jar命令的如下参数选项:
举例说明几个常用的:
命令:jar -cvf test.jar *.class //为新创建的jar包取名为test
jar -cMf test.jar *.class //创建压缩包,不生成清单文件(META-INF下面的manifest.mf文件)
jar -tvf test.jar //查看压缩包
jar -xvf test.jar //解压 (加v可以看到详细的过程,可不加)
jar -uvf test.jar A.class //添加A.class到test.jar中。
【打包成可执行的JAR包】jar -cvfe my.jar UserTest *.class //通过-e告诉JVM UserTest为主类,并打包。
这样如果机器上安装了独立的虚拟机,只要双击“可执行型”的JAR包即可运行。
如果没装则:java -jar my.jar //运行
javaw -jar my.jar //主要用于有界面的程序(javaw和java差不多)
若不需要清单文件,可以使用windows里的WinRAR或WinZi压缩,然后把后缀改成.jar即可。
Jar命令的好处:方便管理。JVM可以直接加载Jar包,这样就可以一次加载N个类,效率更高。
Java程序入口(main)方法说明:public -系统来调用该方法时,不可能在同一个包中,也不会是它的子类
static -无需创建实例,直接用类名调用入口方法。--执行:java 主类类名 数组元素1 数组元素2...
String[] args:args默认是长度为0的数组,可在程序运行时动态传入args参数值。
正则表达式:就是一个可以匹配N个字符串的字符串模板。
正则表达式所支持的通配符:
. -可以匹配任意字符。
\s -代表一个任意空白(空格、Tab)
\S -代表一个任意的非空白
\d -代表一个任意的数字(digital)
\D -代表一个任意的非数字
\w -代表一个单词字符
-W -代表一个任意的非单词字符
str.matches(regex);//判断str字符串是否匹配给定的正则表达式。
"123.123".replaceAll("\\.", "#"); //结果:123#123
特殊字符(实际用时记住要转义\):( ) [ ] { } \ ? * + ^(一行的开头) $(一行的结尾)|
表示出现次数的“副词”:
? --代表它前面的东西可以出现0~1次
* --代表它前面的东西可以出现0~N次
+ --代表它前面的东西可以出现1~N次
{n,m} --代表它前面的东西可以出现n~m次
{n,} --代表它前面的东西至少出现n次
{,m} --代表它前面的东西最多出现m次
{n} --代表它前面的东西必须出现n次
方括号表达式:
枚举:[ab中] --代表a或x或者“中”。
范围:[a-c] --代表a,b,c中的任意一个字符。
枚举与范围:[a-c1-3]--代表a,b,c,1,2,3中的任意一个字符。
表示求否:[^a-c] --代表不含a,b,c其中任意一个字符。
表示求交:[a-g&&[^b-d]]:--代表a,e,f,g中的任意一个字符。--总结:一个字符用\,多个字符用[],字符次数用{}
(com|org|cn):表示必须含有其中之一。
--除此自外,Java专门提供了两个工具类:
Pattern - 它就是代表正则表达式模板。
Matcher -代表一个匹配工具类。
find():查找下一个匹配正则表达式的字符串。group()取出上一次与正则表达式匹配的字串。
举例说明(找出邮箱):
public class RegexTest { public static void main(String[] args) { String str ="这本书价格是52.9元,作者的两个邮箱:一个是123@qq.com,另外一个是234@163.com"; Pattern pattern = Pattern.compile("[a-zA-Z0-9]{2,}@[a-zA-Z0-9]{2,}\\.(com|org|net|cn)"); Matcher matcher = pattern.matcher(str); while(matcher.find()){ System.out.println(matcher.group()); } } }
国际化(简称:i18N):希望一个程序,可以“自适应”所有用户环境。--本质是“查找”、“替换”。
国际化的步骤:
(1)提供资源文件,负责为程序提供国际化消息,同时资源文件的文件名必须满足:<baseName>_语言代码_国家代码.properties。如果资源文件包含了非西欧字符,需要使用native2ascii工具类处理这个文件。
处理格式:native2ascii 要处理的文件 生成的新文件名(资源文件)。
(2)使用ResourceBundle来加载国际化资源文件
(3)从所加载的文件中查找key对应的字符串进行替换。
--调用ResourceBundle的getMessage()方法(负责为消息中的占位符填充参数值)输出国际化消息。
举例说明1:
/* * Description:获取Java语言的所支持的所有Locale * */ public class LocaleTest { public static void main(String[] args) { Locale[] locals = Locale.getAvailableLocales(); for (Locale ls : locals) { System.out.println(ls.getDisplayCountry() + " " + ls.getLanguage() + " " + ls.getCountry()); } } }
举例说明2:
1)我们写一个test.properties文件,内容为:hi=你好!welcome={0},欢迎你!2)执行命令行:native2ascii test.properties test_zh_CN.properties
我们将看到生成的内容如下:hi=\u4f60\u597d\uff01
welcome={0},\u6b22\u8fce\u4f60\uff01
3)编码如下:
/* * Description:获取并替换国际化资源文件信息 * */ public class LocaleTest { public static void main(String[] args) { // Java 虚拟机实例的当前默认语言环境值 Locale currentLocale = Locale.getDefault(); // 加载国际化资源文件,test为资源文件名前缀 ResourceBundle bundle = ResourceBundle.getBundle("test",currentLocale); // 从bundle所加载的文件中查找hi对应的字符串进行替换。 System.out.println(bundle.getString("hi")); //将占位符的内容替换为“张三" System.out.println(MessageFormat.format(bundle.getString("welcome"), "张三")); } }
结束语:
今天内容就讲这么多,明天开始学习Java面向对象之集合框架。内容比较多,所以打算分两次讲。
相关推荐
这是一个简单的正则表达式应用jar包,通过调用其内部方法可实现java的一系列验证,提取和清洗的方法,内附帮助文档,使用非常简单,希望可以为广大编程爱好者编程提供方便,欢迎下载!
Java根据正则表达式生成字符串,包括了Xeger和automaton
根据正则表达式生成满足正则的数据,里面包括了所需要的jar包xeger-1.0-SNAPSHOT.jar automaton-1.11-8.jar
用JAVA写的一个将正则表达式转换为NFA的代码,基于Thompson算法的思想,递归构建NFA。jar为源码文件。 输出非确定有限自动状态机的有向图。如正则表达式: c(a|b)NFA为:0-c->1-ep->2-a->3-ep->7 ,0-c->1-ep->4-b->5-...
java 正则表达式 perl5规范 jakarta-oro.jar
Java版的正则表达式测试工具,首先要按照JRE软件才能运行(压缩包中自带JRE软件)。 运行方式,命令行:java -jar QRe_V0.2.jar
正则表达式的支持库,oro的最新jar包
该工具可用于正则表达式的测试,该工具使用的可运行jar包JDK11编译,请使用JDK11及以上版本运行jar,资源附带源码,JDK版本不到JDK11的网友可自行编译运行。此为老版本,添加了一些小功能的新版本已上传,...
Java正则表达式 Test Tool
正则表达式教程,主要讲的是一些正则表达式的基本内容.希望对大家的学习有帮助
自己写的正则表达式测试工具,java -jar regexTest.jar 运行
包含: RegexViewer.exe 主程序 RegexViewer.jar 项目打成的JAR包 R.icon 图标(其实是R语言的图标) RegexViewer.jpg 程序运行截图 jsmooth*-setup.exe JAR转...主要用于开发过程中,验证正则表达式写的正确与否。
jakarta-oro.jar包供大家享用 博文链接:https://xzio.iteye.com/blog/117213
一个java正规表达式工具类 关键字: 一个java正规表达式工具类 猛然想起两年写了一个java的正规表达式的java工具类,分享一下,有用到的欢迎下载使用。 如果你有常用的定义好的,且测试通过的正规表达式,欢迎跟贴...
正则工具 正则工具 正则工具 必须得有sdk 是一个jar包
下载后解压,有两个jar。 public static void main(String[] args) { String regex = "[0-9a-z]{32}"; Xeger generator = new Xeger(regex); String result = generator.generate(); assert result.matches...
下载后解压,有两个jar。 public static void main(String[] args) { String regex = "[0-9a-z]{32}"; Xeger generator = new Xeger(regex); String result = generator.generate(); assert result.matches(regex); ...
正则表达式测试工具正则表达式测试工具,使用Java开发,方便跨平台离线使用.Java,Python和C#当前支持正则表达式实现引擎,当前版本为beta。使用JavaFX 11组件开发,请遵循BSD协议,您可以免费获取和修改该程序,...